מה חדש ב Jenkins 2.0
Jenkins 2.0 יצא לאחרונה לאוויר העולם ויש לא מעט התרגשות סביבו.
בתור מנהל מוצר שמנטר את Jenkins, משתמש ב -Jenkins בתהליך הפיתוח שלו ויועץ בתחום – הייתי מאוד מסוקרן.
בשבוע האחרון יצא לי לשחק לא מעט עם המערכת וחשבתי לשתף אתכם בתובנות שלי.
-
Pipeline as a code
השינוי המשמעותי הגדול הראשון ב Jenkins 2.0 הוא Pipeline as a code.
מה זה pipeline – pipeline זה בעצם אוסף השלבים שמרכיבים ומעצבים את תהליך פיתוח התוכנה, הבדיקות וה delivery בארגון. יישום של pipeline בעצם מאפשר ליצור פתרון בו משאבי פיתוח ובדיקות נעים לאורך תהליכי ה continuous integration and delivery.
השינוי הגדול ב Jenkins 2.0 הוא בגישה: עד עכשיו ארגונים השתמשו ב Jenkins בעיקר כדי לתזמן תהליכים בעיקר בעולם ה CI.
כדי לחצות את הקו הדמיוני שהיה קיים בין עולמות ה CI וה CD ולחבר ביניהם יש צורך לייצר מכנה משותף ביניהם, ומה יותר נכון מאשר לעטוף את התהליכים בקוד ולתת שפה משותפת לכל העוסקים במלאכה (devOps ו Development).
יתרונות של Pipeline as a code:
- מאפשר יצירת pipeline שלם ולא רק אוסף משימות רציפות (ליניאריות)
- מאפשר לשמור את ה pipeline החדש כקוד רגיל ב source control (קובץ בשם Jenkinsfile)
- מאפשר שיתוף של pipeline או חלקים מ pipeline בין חלקים שונים בארגון
חיבור של Jenkins2.0 עם Git
גם כאן דרגת האוטומציה עלתה רמה. ברגע ש Jenkins מזהה שענף מסוים מכיל Jenkinsfile הוא יבנה את ה pipeline אוטומטית, יתרה מזאת, ברגע שיהיה שינוי בקוד Jenkins יזהה את השינוי ויבנה את ה pipeline מחדש.
-
עיצוב חדש ו- UI
UI הוא בד"כ הנקודה החלשה ב- open source, רוב המאמץ מושקע במנוע וביכולות של המוצר ולעיתים קצת מזניחים את העיצוב וחווית המשתמש.
אני שמח לבשר שב Jenkins 2.0 נעשתה עבודה חשובה בתחום ה UI!
Jenkins 2.0 הצליח להוריד משמעותית את רמת הבלבול והבהלה של משתמשים חדשים במוצר:
במקום לחפש ברשימה כמעט אין סופית את ה plugins שחשובים כמעט לכל משתמש Jenkins חדש, Jenkins מגיע היום עם האפשרות להתקין רשימה של plugins מועילים כבר בהתחלה בכך לקצר את זמן ההקמה וההסתגלות למוצר. בנוסף חל שיפור משמעותי ב UI, מה שמאפשר למשל להגדיר job חדש במערכת יותר בקלות.
שאלות נפוצות שנשאלנו בשבועות האחרונים בהקשר לגירסא 2.0 החדשה:
האם כדאי לשדרג?
יש הרבה גורמים שצריך לקחת בחשבון לפני שמשדרגים את המוצר.
אני מציע להרים סביבה זהה בצד למשחקים ולבדוק האם כל ה plugins שבשימוש אכן עובדים אותו דבר ושאין בעיות תאימות כאלה ואחרות.
אם אתם עדיין לא עובדים עם Jenkins וחושבים על כך – זה זמן מצוין לקפוץ למים. כדאי להתחיל ישירות מגירסא 2.0 מכיוון שהיא ידידותית יותר למשתמש החדש.
האם יש תאימות לאחור?
ההכרזה הרשמית היא שיש תאימות מלאה לאחור ושאפשר לשדרג ללא חשש.
עדיין מומלץ מאוד לבדוק היטב שהכל מנגן לפני שמשדרגים.
כדאי לבצע תכנון לשדרוג, בפרט אם Jenkins קריטי לעבודה התקינה של הארגון ונוגע למשתמשים רבים.
על המחבר:
דוד הוא תוכניתן בוגר ממר"מ ובוגר יחידה 8200 בה שימש כאחראי על מערכי הגיבוי האחסון וה DRP.
שימש כיועץ תשתיות בחברת Integrity Systems וכ WW Interoperability Manager בחברת IBM-XIV.
כיום משמש כ מנהל מוצר ALM Performance, מוצר ניטור ייחודי שנבנה במיוחד ל- Jenkins . המוצר מנטר גם תשתית וגם אפליקציה של סביבות Jenkins ומציע התראות ל dashboard וגם למייל ויודע מה חשוב לנטר ב- Jenkins, מה שמאפשר להקים מערכת ניטור לסביבות Jenkins בפחות משעה.