« לעמוד הראשי

מה חדש ב- GitLab ? (מרץ 2019)

gitlab devops lifecycle

Application and DevOps life-cycle by GitLab

 

אחת לתקופה אנו מעלים סיכום קצר של כמה פיצ'רים  חדשים ומרכזיים שנוספו ל- GitLab בתקופה האחרונה.

הנה סיכום כזה שמתייחס לטווח הגירסאות מגירסא 11.6 (דצמבר 2018) עד 11.9 (מרץ 2019).
את הסיכום הפעם בחרתי לחלק לכמה קטגוריות מרכזיות:

  • הפיצ'רים המבוקשים ביותר (ע"פ חכמת ההמונים – הסבר מייד בהמשך)
  • פיצ'רים חדשים הקשורים ל- Code Security
  • פיצ'רים חדשים הקשורים ל- Kubernetes
  • פיצ'רים חדשים הקשורים לניהול משימות ו- Epics

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

ל- GitLab יש 8 גירסאות (בחינם ובתשלום), כאשר ההבדלים מתייחסים לצורת ההתקנה (עצמית או בענן) ; לרמת התמיכה הטכנית של היצרן ולפיצ'רים עצמם. פירוט ההבדלים בנושא גירסאות GitLab ניתן לקרוא כאן .
ניתן גם לפנות אלינו ולקבל רשיון זמני להתנסות בכל הגירסאות (כולל Ultimate) – לקבלת התנסות בענן או רשיון זמני נא לחצו כאן.

אז מה חדש ב- GitLab ?

הפיצ'רים החדשים שהיו המבוקשים ביותר ע"י קהל המשתמשים:

איך זיהינו את הפיצ'רים המבוקשים ביותר? ע"פ חכמת ההמונים: הואיל ולא רק הקוד פתוח ב- GitLab אלא גם כל הדיונים מסביב לפיצ'רים חדשים גם הם פתוחים – כתבנו סקריפט שסורק את הפיצ'רים החדשים שנוספו בחודשים האחרונים (באמצעות סריקת ה- repo המתאים יחד עם שימוש ב- API ). לקחנו בחשבון גם את כמות ה- Thumbs-up (מעין "לייקים" שמשתמשים מוסיפים לצד כל פיצ'ר) , לצד כמות ההערות (User Notes) ומידעים נוספים. ריכזנו הכל אוטומטית לטבלת Excel שבנינו, מה שמאפשר לנו לשקלל את התוצאות, למיין ולפלטר ע"פ כמה פרמטרים.
comprehensive release notes of gitlab
בקרוב נקדיש פוסט נפרד לנושא וגם נאפשר גישה חופשית לטבלה המלאה (כדי לקבל עדכון כאשר יהיה מוכן אפשר להירשם ע"י שליחת מייל אלינו).

הפיצ'רים המבוקשים ביותר:

  1. אפשרות להגיב ולהתחיל דיון חדש מתוך כל הערה (comment) שנוספה ל- Issues , Merge Requests ו- Epics – מה שמאפשר לנהל שיחות בצורה מסודרת יותר תוך שמירה על היררכיה פנימית מסודרת שמאפשרת לראות את ההקשר בין ההערות .
    זהו פיצ'ר שהיה מאוד מבוקש ב- UI  – וכעת זמין בכל הגירסאות (גם בענן gitlab.com וגם בשרת פרטי (self-hosted)).
  2. אפשרות מיון Merge Requests לפי שם המאשר (approver) . הדבר שימושי כאשר יש כמות גדולה של Merge Requests ורוצים לפלטר במהירות את אלה שלא רלבנטים.
    קיים החל מגירסאות Starter או Bronze (בענן).
  3. כאשר משווים שינויים ב- merge request (כחלק מ- code review למשל) , לפעמים צריך לראות את ההבדל בין 2 הגירסאות – ולפעמים עדיף לראות את כל הקבצים (ולא רק את ה- diff) כדי לקבל קונטקסט מלא. כעת זה אפשרי ע"י כפתור "Show full file" חדש . בנוסף, ניתן כעת גם להשאיר הערות על שורות שלא השתנו.
    תכונה זו זמינה בכל הגירסאות.
  4. הגדרת חוקים מי רשאי לאשר Merge Requests : ניתן כעת להגדיר חוקים בחתכים המשלבים פרוייקטים, תפקידים וקבוצות – ע"מ לשפר את התקשורת בין צוותים בארגון. לדוגמא, לעתים כדי לאשר שינוי של פיצ'ר מסויים, צריך אישור של אנשי front-end, אנשי security, אנשי QA ואנשי UX . ניתן בעצם להגדיר חוק שמחייב אישור של כולם, ויש גם אפשרות לדעת בכל רגע נתון מה הסטטוס (מי אישר ולמי ממתינים)
    קיים בגירסאות Premium ו- Silver (בענן).
  5. ה- ChatOp  , המאפשר להפעיל פעולות CI/CD מתוך Slack ו- Mattermost (ולהשאיר את כל אנשי הצוות מסונכרנים לגבי פעולות במערכת), הועבר לגירסא החינמית (GitLab Core) וגם הפך לקוד פתוח.
ניתן לרכוש באמצעותנו גם רישוי ארגוני ל- Slack ול- Mattermost

פיצ'רים חדשים בהקשר ל- Code Security :

כידוע, GitLab מאפשר סריקת קוד ומאפשר סט נרחב של בדיקות אוטומטיות המורצות לאחר עדכון קוד ב- repo (כוללת בדיקת קוד סטטי, בדיקת קוד דינאמי, סריקת containers והקוד הפתוח הנמצא בשימוש, בדיקת תאימות רישוי קוד פתוח ועוד).

  • נוספו שפות קוד נוספות שניתן לבצע להן סריקת קוד סטטית (Static Application Security Testing) כחלק מתהליך ה- CI  :
    נוספו השפות JavaScript, TypeScript
    המתווספות לשפות שכבר נתמכות:

.NET (C#) , C/C++, Go, Groovy (Ant, Gradle, Maven and SBT), Java (Ant, Gradle, Maven and SBT), Python,Node.js, Scala (Ant, Gradle, Maven and SBT), Ruby on Rails , PHP

  • התווספה בדיקה חדשה בשם "Secret Detection": כל commit נסרק (כחלק מתהליך CI) כדי לוודא שאין בקוד העדכני סודות (כגון סיסמאות, tokens, API Keys, credentials ) .
    אם מתגלה כזו, נשלחת התראה ב- merge request ואז המפתח שהכניס זאת צריך לתקן את הקוד.
gitlab SAST secret detection in merge request

ניתן לראות שהסריקה מתריעה על המצאות מפתחות סודיים (לחצו על התמונה להגדלה)

הפיצ'ר קיים בגירסאות Ultimate ו- Gold .

במאמר מוסגר: איך מנהלים סודות בצורה נכונה? כיום התפיסה הרווחת היא להחזיק "כספת" ארגונית-מרכזית של כל המידע הרגיש, ובאופן זה להגן על גישה לטוקנים, לסיסמאות, לתעודות סרטפיקציה ולמפתחות הצפנה. אחד המוצרים הפופולרים בנושא זה כיום הוא Vault של חברת HashiCorp – מוצר בקוד פתוח שיש לו גירסאות חינמיות ובתשלום. הקמנו אתר בעברית שמסביר על הנושא וכולל וידאו הסבר – קישור בהמשך. אנו מייצגים את חברת HashiCorp בארץ ומספקים תמיכה, יעוץ ורישוי לגירסת ה- Enterprise.

יכולות חדשות בעבודה מול Kubernetes:

  • יכולת חדשה שהיתה בין המבוקשות ביותר תקופה ארוכה: ניתן לבנות Kubernetes Cluster שישותף בין כל הפרוייקטים שנמצאים בתוך קבוצה מסויימת (או תתי-קבוצות) – מה שחוסך בהקמת תשתית clusters לכל פרוייקט בנפרד!
  • נוספה תמיכת API  לאינטגרציה מול Kubernetes. כך למשל הוספה /מחיקה של Kubernetes Cluster אפשרית דרך קוד (לצרכי אוטומציה וכד').
  • ניתן לשדרג כעת GitLab Runner (שרץ מעל Kubernetes) בלחיצת כפתור (דרך ה- Kubernetes Integration) – מה שמאפשר עדכוני גירסא (ועדכוני אבטחה) בקלות

כל הפיצ'רים הנ"ל ל- Kubernetes זמינים באופן חופשי בכל הגירסאות.

לאחרונה כתבנו מאמר המסביר על יכולות GitLab ו- Kubernetes בהקשר לפתרון High Availability. קישור בהמשך.

יכולות חדשות סביב Epics:

בגירסאות Ultimate ו- Gold יש אפשרות לנהל Epics – מה שמאפשר לנהל פרוייקטים גדולים יותר, חוצי ארגון, ובמגוון של צורות מבוססות Agile / Scrum (קישור למאמר שכתבנו בנושא מופיע כאן בסוף הפוסט).

  • ישות חדשה: Child Epics היררכים או מקושרים ביניהם

    gitlab child epics

    ניתן לראות של- Epic הראשי מקושרים שני epics משניים (לחצו להגדלה)

  • נוסף API שמאפשר לבצע פעולות ואוטומציה על Epics
  • ניתן להגדיר את היום הראשון בשבוע כיום ראשון, מה שעוזר לתכנון שבועי מדוייק יותר (רלבנטי מאוד לישראל)
  • יכולת חדשה ב- Roadmap:  גלילה אופקית קדימה (לעתיד) ואחורה (לעבר) ללא צורך לרפרש את העמוד מחדש, כפי שהיה עד כה. למי שמכיר,
    יכולת זו דומה לתצוגה שקיימת ב- Jira.
    GitLab Epic roadmap view scrolling

השימוש ב- Epics קיים בגירסאות Ultimate או Gold (בענן) – ניתן לקבל מאיתנו רשיון להתנסות.

עד כאן עדכונים לבינתיים. אתם מוזמנים להצטרף לרשימת התפוצה שלנו ולהיות הראשונים שמקבלים עדכונים.

חברת ALM-Toolbox היא הנציגה הרשמית (היחידה) של GitLab בישראל ובמדינות נוספות, ומתמחה גם במתן שירותים נוספים ל- GitLab וביניהם: יעוץ, הדרכות, מכירת רישוי, תמיכה, אירוח פרטי בענן , אינטגרציה מול מוצרים משלימים כגון Jira, Kubernetes, Slack, Mattermost, Rancher, Clouds  Spotinst Terraform ועוד. מידע נוסף על שירותים שאנו מספקים בנושא ניתן לקרוא בעמוד הבא.

קישורים רלבנטים: