בואו רגע נעשה סדר במהדורות GitLab השונות

ריבוי המהדורות של GitLab יכול לבלבל ולהטעות גם משתמשים מנוסים. תנו לנו לעשות לכם סדר

מקור: cc0-by-pixabay

מאת: תמיר גפן

משיחות עם משתמשי GitLab בארץ ובעולם, ראיתי שריבוי המהדורות גורם לבלבול ולשאלות. לכן כתבתי את הכתבה הזו, שמטרתה לעשות סדר בדברים ולפשט את הנושא. כאמור – ישנן 5 אפשרויות, הכוללות גירסאות בתשלום, חינם, בענן או בהתקנה מקומית באתר הלקוח (on-premise). את הסקירה הבאה אציג בשכבות כך שיהיה נוח יותר להבין את הנושא. דהיינו: כל שכבה מציעה את השכבה שלפניה פלוס יכולות נוספות.

הגירסא החינמית מציעה מימוש בסיסי לרעיון “From Idea to Production”; הגירסת הבסיסית בתשלום (Enterprise Starter) מציעה את המהדורה החינמית (מס’ 1) יחד עם יכולות נוספות; גירסת ה-premium בתשלום (Enterprise Premium)  מציעה את כל מה שמגיע בגירסא הבסיסית בתשלום (מס’ 2) יחד עם יכולות נוספות וכעת אפרט עוד יותר.

גירסאות חינמיות

נתחיל עם הגירסאות החינמיות. יש שתיים כאלה. ראשית – חשוב לזכור שהן לא כוללות תמיכת יצרן, אך עדיין מציעות ערך לא רע עבור פרוייקטים אישיים או קטנים שנכתבים בקוד פתוח או סגור, ובד”כ ללא מטרה מסחרית. יש לזכור שכל היכולות הנ”ל (from idea to production) כלולות, אך בגירסא החינמית יש מגבלות ברוב הרכיבים הנ”ל כפי שמייד יוסבר.

Community Edition להתקנה עצמית (on-premise)

אידאלי לאנשים פרטיים או לצוותים קטנים.

היתרונות: 

  • מערכת אחת שנותנת סביבה מלאה לפיתוח תוכנה, מהרעיון עד ה- production
  • אפשרות לנהל repositories פרטיים (להבדיל מ-  GitHub שלא מאפשרים repo פרטיים בחינם)
    ללא הגבלת כמות משתמשים (להבדיל מ- BitBucket של Atlassian, שמוגבל ל-5 משתמשים בגירסא החינמית)
  • כלולה מערכת Continuous Integration – CI מלאה, שכוללת תמיכה מתקדמת ב-containers, מגיעה built-in במערכת ומתממשקת היטב עם ה-version control, ה-issue tracking וה-code review.

החסרונות:

  • ללא תמיכת יצרן וללא אפשרות לפתוח tickets מול היצרן בנוגע לשאלות ובעיות
  • יש צורך בידע להתקין את השרת (דרוש ידע ברמת admin ב- Linux. מומלץ לדעתי גם ידע ב- Docker וב- containers)
  • מצריך הקצאת שרת (פיזי או וירטואלי)
  • ללא הפיצ’רים שכלולים בגירסאות בתשלום (ומפורטים כאן בהמשך המאמר)

מקור: GitLab

גירסא חינמית בענן ציבורי gitlab.com

מיועדת בעיקר לפרויקטים פרטיים שרוצים להקים אותם מהר, בלי להתעסק בהקמת שרת פרטי.

היתרונות:

אותם יתרונות בגירסא החינמית לעיל, ובנוסף – אין צורך להקים שרת

החסרונות:

  • ללא תמיכת יצרן וללא אפשרות לפתוח tickets מול היצרן בנוגע לשאלות ובעיות
  • אין מחויבות יצרן לזמינות (אין SLA רשמי)
  • הענן ציבורי ומאובטח במידת-מה, אך אין מחויבות יצרן לאבטחת מידע
  • אין מחויבות יצרן לביצועים (השרת משותף להמוני משתמשים)
  • יש מגבלת נפח אחסון לפרוייקט (של 10GB)
  • חשוף למתקפות DDOS ומתקפות DNS (האחרונה המפורסמת היתה ב 21/10/16 ופגעה גם באתר זה וגם ב-GitHub.com ואתרים מפורסמים נוספים)
  • שדרוגים נעשים אוטומטית ע”י היצרן ללא תיאום עם המשתמשים (לעתים ה- downtime הוא דווקא בימי ראשון בשעות הבוקר שעון ישראל הואיל וזה לא נחשב יום עבודה בחו”ל)
  • הפיצ’רים של מהדורת Enterprise Premium לא כלולים

כל החסרונות הללו פתירים ע”י שימוש במהדורות בתשלום – וכעת אעבור להסבר עליהן.

מייסדי גיטלאב: Sid Sijbrandij ו-Dmitriy Zaporozhets

גירסאות בתשלום

הגרסאות בתשלום ניתנות להתקנה בשרתי החברה (מאחורי firewall) או על ענן פרטי מאובטח. כאן יש 2 אפשרויות רישוי.

Enterprise Edition Starter

במחיר של 39$ לשנה למשתמש (או 3.25$ לחודש למשתמש), הכוללת תמיכת יצרן עם זמן תגובה של עד יום עסקים, וכן יכולות נוספות שאין בגירסת ה- Community החינמית לעיל, וביניהן:

  • תמיכה מלאה בניהול יוזרים וקבוצות מול LDAP, Active Directory, Kerberos ו- Atlassian Crowd
  • Analytics מלא (Contribution Analytics)
  • Audit log
  • תמיכה בכמה issue boards שונים לאותו פרויקט (שימושי מאוד כדי לצפות ב- issues מכמה פרספקטיבות – למשל כאשר יש כמה צוותים שעובדים על אותו פרוייקט, ולכל אחד דרוש board נפרד)
  • חיפוש גלובלי בקוד (מה שמאפשר לזהות במהירות מופעים של קטעי קוד ספציפיים. זהו מעין ‘גוגל’ לקוד)
  • אינטגרציה עם Elastic Search לצורך חיפוש מהיר מאוד בקוד
  • אינטגרציה עם Jenkins
  • אפשרות לבצע rebase לפני merge
  • אפשרות לבצע fast-forward merge במידת האפשר
  • אפשרות לבצע mirroring אוטומטי מ- repositories חיצוניים
  • הרשאות ל- branches ע”פ usernames (למניעת push  ו- merge לא רצויים)
  • תמיכה בניהול קבצים בינאריים גדולים באמצעות git annex
  • יכולות מתקדמות של ה- Issue Tracking וה- Issue Board
  • יבוא פרוייקטים מ- gitlab.com (האתר שמחזיק פרוייקטים בחינם וללא תמיכת היצרן)
  • אפשרות לאחסן דפי/אתרי אינטרנט סטטיים (GitLab Pages) ולנהל להם גירסאות

זוהי רשימה חלקית – ישנם פיצ’רים נוספים שכלולים במהדורה זו. רשימה מלאה יש באתר.

Enterprise Edition Premium

מהדורה זו כוללת תמיכת יצרן 24/7 ועם זמן תגובה מהיר שנע בין חצי שעה לתקלה משביתה לעד 4 שעות לתקלה אחת, יחד עם כל היכולות הנ”ל של גירסת Enterprise Starter, ובנוסף יכולות נוספות, וביניהן:

  • תמיכה ב- GitLab Geo. זהו פתרון האצת ביצועים כאשר עובדים בכמה אתרים גיאוגרפיים (שניים או יותר), אבל שרת ה-GitLab נמצא באתר אחד ומשותף לכמה אתרים. בעזרת Geo ניתן לעשות git clone מ- repository שהוא העתק מקומי, ולקבל קצב הורדה של תקשורת ברשת LAN מקומית. (מאמר הסבר מפורט יותר יש באתר ALMtoolbox).
  • מנגנון נעילת קבצים (file locking) – נעילה אקסקלוסיבית של קבצים ע”מ למנוע בעיות מיזוג. רלבנטי במיוחד לקבצים בינאריים.
  • תמיכה ב- High Availability וביתירות שרתים ותמיכה בעומסים. אפשרי להוסיף load balancer ולהכפיל את המכונות, ולתמוך בכמות משתמשים גדולה ובכמה אתרים. הדבר מאפשר להקים פתרון מסוג active\active.
  • תמיכה בשדרוגים יחד איתם (בשיתוף מסך בלבד)
  • בעתיד הקרוב צפויים להתווסף פיצ’רים נוספים שיצטרפו רק לגירסא זו

מהדורה זו עולה 199$ לשנה (או 16.58$ לחודש) לרשיון למשתמש.

כאמור את שתי הגרסאות ניתן להתקין בשרתי החברה או על ענן פרטי (על מכונה פיזית או וירטואלית).

ענן פרטי שימושי כאשר לא רוצים להקים שרת בתוך החברה ולא רוצים להתעסק עם היבטי התשתית וה- IT של האפליקציה. ניתן להתקין ענן פרטי שיושב בארץ או בחו”ל (אירופה / ארה”ב ועוד) – למעשה דרושה מכונת Linux (והמומלצת ביותר מכונת Ubuntu).
מנסיוני, ועל סמך בדיקות ביצועים של תשתית ואפליקציה שביצענו בחברה מול כמה ספקי ענן, במידה והמשתמשים יושבים בישראל, אני ממליץ לרוב על התקנה בענן ישראלי, אשר מספק ביצועי GitLab טובים יותר.

תמיר גפן הוא מייסד ומנכ”ל חברת ALMToolbox

כתב אורח

אנחנו מארחים מפעם לפעם כותבים טכנולוגים אורחים, המפרסמים כתבות בתחומי התמחות שלהם. במידה ואתם מעוניינים לפרסם פוסט בשמכם, פנו אלינו באמצעות טופס יצירת קשר באתר.

הגב

8 Comments on "בואו רגע נעשה סדר במהדורות GitLab השונות"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 
Sort by:   newest | oldest | most voted
צחי
Guest

מה עם הקריסה המפורסמת? הלכו גיבויים. בדיוק מה שאתה לא מצפה מספק כזה. אולי עדיף attlasian

רועי
Guest

הם הלכו רק למי שהשתמש בענן הציבורי החינמי שלהם, ושמעתי שהם תיקנו את זה אח”כ. אנחנו משתמשים בגירסא שלהם שמותקנת אצלנו על שרת בחברה, ולא היה לנו שום נזק. אני גם רואה כאן בכתבה שהם לא לוקחים אחריות על הענן הציבורי, שהוא חינמי, וזה זכותם מן הסתם.

ערן
Guest

למען הדיוק הלכו להם למעלה מ700 משתמשים, יותר מ5000 פרוייקטים ולמעלה מ5000 commits שכולם נמחקו.
גם רוב השירותים של גוגל חינמיים,לא היית רוצה שכל המיילים או תמונות ימחקו,נכון?

רועי
Guest

ברור שלא הייתי רוצה שימחק.
אני אגב בדעה שגם אם אתה שם משהו בענן, ודואגים לך לכאורה לגיבויים, עדיין זו אחריות שלך לגבות את זה. תבדוק גם בתנאי שימוש של גוגל – הם לא אחראים ל Gmail שלך אם נמחק להם המידע. ובוודאי כאשר זה מסופק בחינם. רוצה להיות בטוח שהכל מגובה? תדאג לזה בעצמך. כנ”ל לגבי GitHub Gitlab וכל שירות ענן.

ערן
Guest

למען הדיוק הלכו להם למעלה מ700 משתמשים, יותר מ5000 פרוייקטים ולמעלה מ5000 commits שכולם נמחקו.
גם רוב השירותים של גוגל חינמיים,לא היית רוצה שכל המיילים או תמונות ימחקו,נכון?

diSty
Guest

שאלה, אם אני מאכסן GitHub החינמי מה הסיכוי שמישהו ימצא את הקוד שלי אם אני לא מפרסם לינק?

יוני
Guest

LDAP יש גם ב-gitlab ה-CE.

רועי
Guest

אבל באופן חלקי בלבד ( אין תמיכה בקבוצות למשל)

wpDiscuz

תגיות לכתבה: