« לעמוד הראשי

גירסא חדשה ל- GitLab: גירסא 10.7 יצאה היום

התאריך היום הוא ה- 22 לחודש, וכמו בכל 22 לחודש בשנים האחרונות – יצאה גירסא חדשה של GitLab, עם הרבה פיצ'רים חדשים ומסקרנים.
סרקתי היום את ה- Release Notes בזריזות ואני מציין כאן במאמר 12 יכולות חדשות שריכזו עניין מצד משתמשים שדיברתי איתם בתקופה האחרונה.

ישנן עשרות תכונות חדשות בגירסא זו, הכוללות יכולות חדשות ב- CI/CD ;  בהיבטי אבטחת מידע ו- Security; בדשבורדים (dashboards);  בנושא הגיבויים;  בתמיכה ב- Disaster Recovery ; שיפור ביצועים ועוד. בגירסא זו (10.7) ישנם הרבה תכונות שזמינות בכל הגירסאות, כולל החינמיות (וזאת ביחס לגירסאות קודמות).
קישור למאמר המקורי ישנו בסוף המאמר.

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

 

כמה פיצ'רים מעניינים וחשובים ב- GitLab 10.7:

לתשומת לב: הגירסא החינמית נקראת כעת GitLab Core (שמה השתנה לפני כמה ימים. היא נקראה בעבר Community Edition ולאחר מכן Libre)

 1. Web IDE

GitLab Web IDE

GitLab Web IDE . לחצו על התמונה להגדלה

זהו עורך טקסט שזמין בממשק ה- web של GitLab . לא מדובר ב- IDE  חיצוני – ולכן גם לא צריך להתקין כלי נוסף.

היכולת הזו קיימת מגירסא 10.4 , וכעת מוגדרת כבשלה יותר (GA)  .

העורך היה זמין עד כה בגירסת ה- Ultimate, וכעת הוא זמין בכל הגירסאות (גם בחינמיות), וגם הפך לקוד פתוח.

ה- Editor מציע כמה מצבים: מצב review כדי לראות שינויים, וישנו גם מצב עריכה (editing).

העורך הזה מיועד בפרט לאנשים לא טכניים (כגון אנשי שיווק / מכירות / מוצר) שצריכים לעשות commit מדי פעם, אבל לא רוצים להתעסק עם IDE  מורכב או כזה שמצריך התקנה של עוד תוכנה. למעשה לא צריך לפתוח repo מקומי או לעשות clone כדי לערוך את הקבצים – אפשר לעשות זאת ישירות מהדפדפן.

כדאי לדעת: היכולות שמציע עורך זה הן מוגבלות יחסית. אם דרוש לכם IDE עשיר יותר או Git Client משוכלל יותר, אנו משווקים כלים משלימים שמתחברים ל- Git ול- GitLab:

IDEs: IntelliJ (Java); WebStorm (JavaScript); PhpStorm (PHP); GoLand (Go IDE); PyCharm (Python)
Git Clients for Windows / Mac / Linux: GitKraken and SmartGit

לפרטים אפשר לפנות אלינו ל- sales@almtoolbox.com

 

2. Deploy Tokens

זהו סוג חדש של טוקן אבטחה, המאפשר יותר גמישות במתן הרשאות קריאה מה- container registry למי שעובד עם קונטיינרים ו- Kubernetes בפרט. כעת אפשר לתת גישת קריאה ברמת הפרוייקט (project) ל- images של containers ול- repository עבור פרוייקט נתון (דהיינו שהפרוייקט מגדיר token שדרכו אפשר לגשת לקבצים / container images שבו) – מה שמאפשר התאמה נכונה יותר בהענקת הרשאות לשם.

עד כה ניתן היה לתת הרשאות רק לפי username או ל- job ספציפי ב- GitLab CI – וזה לא תמיד היה הקונטקסט מתאים.

תכונה זו זמינה בכל הגירסאות של GitLab.

 

3. תמיכה בשפות נוספות בבדיקות Static Application Security: כעת נתמכות גם השפות ++C/C ו- Go .

קיימת כבר תמיכה לשפות Python, Ruby, Java

הריצה למעשה היא חלק מתהליך ה- CI   והתוצאות נראות בתוך ה- Merge Request (כך שאין צורך "לזפזפ" בין כמה כלים) – הנה דוגמא:

יכולת זו קיימת בגירסאות Ultimate ו- Gold בלבד

כדאי לדעת: ל- GitLab קיימות 12 (!) גירסאות שונות – לשם כך כתבנו מאמר המסביר את ההבדלים ביניהן וכיצד כדאי לבחור את זו המתאימה לכם ביותר. לקריאה לחצו כאן.

 

יכולת SAST זו מצטרפת ליכולות סריקת קוד נוספות שכלולות ב- GitLab:

  • Code Quality
  • SAST (Static Application Security Testing)
  • SAST for Docker (Vulnerability Static Analysis for containers)
  • DAST (Dynamic Application Security Testing)

 

כדאי לדעת: אנו משווקים כלי Static Code Analysis ו- Open Source Scanners נוספים (נוסף על GitLab). לפרטים נוספים אפשר לפנות אלינו ל- sales@almtoolbox.com

 

 

4. הרחבה לריצה מותנית של תהליך ה- CI — כעת אפשרי להתנות את הריצה גם לפי הערך של המשתנים

כידוע, אפשר להתנות ריצה של GitLab CI לפי תנאים מסויימים, כגון הרצת CI job על branch מסויים וכד'.

כעת נוסף פיצ'ר חדש שמאפשר להרחיב את ההתניות – ולהריץ את ה- CI (או ה- CD) ע"פ הערכים שמוגדרים בתוך משתני הריצה. לדוגמא: הרצת ה- CI רק אם הערך במשתנה RELEASE$ הוא "staging"  – או למשל אם הערך במשתנה GITLAB_USER_NAME הוא "david" בלבד.

יכולת זו מאפשרת גמישות נוספת ליכולות GitLab CI/CD , והיא זמינה בכל הגירסאות.

 

5. הוספת הערות ל- Epics

Epic הוא "אב" לאוסף של issues. זוהי ישות שמאגדת issues ביחס של אחד לרבים.

כעת, בדומה ליכולות שכבר יש ב- Issues וב- Merge Requests, ניתן כעת להוסיף הערות ודיונים פנימיים גם ברמת ה- Epic. לדוגמא:

הפיצ'ר שימושי לדיונים פנימיים ול- inner-sourcing.

המידע ב- comments זמין גם דרך ה- API של GitLab – ניתן לאסוף משם את ה- comments.

Epics זמינים בגירסאות Ultimate ו-  Gold בלבד.

למעוניינים: מאמר חדש שהוצאנו בעברית: כיצד ניתן להשתמש ב- GitLab לפיתוח מבוסס Agile / SCRUM . להורדה לחצו כאן.

 

6. משקל החשיבות (weight) של כל issue זמין כעת במבט מהיר דרך ה- Issue Board

היכולת שימושית כאשר רוצים לראות את המשקל באופן מיידי, מבלי להקליק על ה- issue (ולחכות שיטען) בכדי לקבל את המשקל

gitlab issue weight

 

7. GitLab Plugins

ע"מ להתאים יותר את המערכת לצרכים שלכם, ולהגיב ל- system hooks שמתרחשים במערכת, לא צריך יותר לגעת בקוד המקור של GitLab.

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

(למי שמכיר – התפיסה כעת למעשה דומה לכלים אחרים שמאפשרים פיתוח plugins שמתווספים למערכת, כגון Jira, Bitbucket, Jenkins, WordPress ועוד).

יכולת זו של פיתוח plugins מאפשרת להגיב על אירועים שמתרחשים במערכת, כגון יצירת פרוייקט; הוספת משתמש; הוספת קבוצה ועוד . ישנם עשרות אירועים (הרשימה המלאה כאן). לדוגמא: ניתן להוסיף הגנה על branches בצורה אוטומטית כאשר נוצר פרוייקט חדש במערכת.

יכולת זו זמינה רק בגירסאות ה- self-hosted  (כאשר יש לכם הרשאות מלאות על השרת – דהיינו גירסאות on-premises על מכונה משלכם פנים-ארגונית או מכונה משלכם בענן).

צריכים לממש יכולת כזו ואין לכם זמן לכתוב זאת בעצמכם?  אנחנו כאן כדי לסייע – אפשר לפנות אלינו ואנו נעשה זאת עבורכם לפרטים: services@almtoolbox.com

 

 

8. תמיכה בהתחברות דרך  JSON Web Token (JWT)  OmniAuth

כידוע, עד כה אפשר היה להתחבר ל- GitLab גם דרך Twitter ו-  Google  (באמצעות OmniAuth), וגם באמצעות שירותים כמו OAuth2, Okta (ועוד).

כעת אפשר להתחבר גם דרך  JSON Web Token (JWT) OmniAuth – שירות להעברת מידע בין שירותים בצורה מאובטחת.

היכולת קיימת בכל גירסאות ה- on-premises  (וגם בענן פרטי)

 

 

9. Projects Badges

הרבה פרוייקטים משתמשים בתגים (badges) בכדי לשקף את מצב האיכות של הפרוייקט ואת סטטוס ה- build-ים שלו.  בד"כ התגים האלה מצורפים ל- README של הפרוייקט (נפוץ בפרוייקטים ב- GitHub).

כעת ניתן גם להוסיף זאת לפרוייקטים ב- GitLab . הפיצ'ר זמין בכל הגירסאות.

 

 

 

10. קבלת חיווי מיידי כאשר Job נכשל בתהליך ה- CI

אפשר לקבל כעת חיווי מיידי על סיבת הכשלון – יופיע ישירות כאשר עומדים עם העכבר מעל סימון ה- Job . כעת לא צריך יותר לנבור ב- Job שנכשל ובלוגים שלו (אלא רק אם ממש צריך). לדוגמא:

gitlab ci/cd failure reason

ניתן לראות בכיתוב (על הרקע השחור) מדוע נכשל ה- job

 

 

11. יצוא של פרוייקטים כולל כעת גם אובייקטים של LFS

יצוא של פרוייקטים שימושי למצבים בהם צריך להעביר פרוייקטים בין שרתי GitLab, וכלל עד כה יצוא של issues, merge requests, labels, wikis ו- uploads. כעת היצוא תומך גם באובייקטי LFS שהם Large File Systems . היכולת שימושית ל- repo גדולים השומרים קבצים בעלי נפח גדול.

 

12. Runner Specific job timeout

עד כה, זמן ה- timeout (להכשלת job שזמן הריצה שלו מתארך מדי) היה מוגדר ברמת הפרוייקט.

החל מגירסא זו, ניתן להגדיר timeout ברמת ה- GitLab Runner – וזה יחול על כל ה- jobs שמריץ ה- runner (ואם ב- runner מוגדר ערך timeout נמוך יותר אזי הוא יהיה "חזק" יותר מאשר הערך המוגדר בפרוייקט).

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

 

חברת ALMtoolbox היא הנציגה הרשמית (היחידה) של GitLab  בישראל ובמדינות נוספות, ומספקת מגוון שירותים מסביב למוצר: רישוי, יעוץ, הדרכות, אחסון פרטי בכל העננים, חיבור למוצרים משלימים ועוד.
החברה מתמחה בתכנון תהליכי פיתוח ובדיקות ובהטמעת כלים תומכי ALM , CI/CD, DevOps ו- SCM כגון Git, Jenkins, GitLab, GitHub, JIRA, BitBucket, SmartBear, Confluence, Xray for Jira, Test Rail, ClearCase

נשמח לענות לכל שאלה! במייל gitlab@almtoolbox.com או טלפונית: 072-2405222

 

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