הארגונים ממשיכים ומאמצים לאדוט את Jenkins כדי לאוטומטזיה את תהליכי הבניה והבדיקה שלהם, מה שהופך את ניהול העבודות של Jenkins באופן ידני לקשה. החדשות הטובות הן שתוסף DSL של Jenkins מאפשר לך להגדיר עבודות של Jenkins בתחביר שפת תחום (DSL).
DSL של Jenkins מאפשר לאחסן עבודות במערכות בקרת גרסאות, לשתף אותם עם משתמשים אחרים וליצור עבודות חדשות מתבניות. ובמדריך זה, תלמד כיצד להשתמש בתוסף DSL של Jenkins כדי לעזור באוטומציה של פיתוחי אפליקציות.
קרא הלאה, כך שלא תצטרך ללחוץ באופן מיידי דרך ממשק המשתמש של Jenkins כדי ליצור עבודה באופן מעייף!
דרישות מוקדמות
מדריך זה יהיה הדגמה מעשית. אם ברצונך לעקוב, וודא שיש לך את הפריטים הבאים.
- A Linux machine – This guide uses Ubuntu 20.04.
- צינור: עבודה כדי להוסיף את אוסף התוספים של צינור השילוח הרציף שמשמש ליישומים ושילוח מתמיד ב-Jenkins.
- צינור: Groovy לאפשרות לבצע קוד Groovy באופן ישיר.
התקנת תוסף Jenkins DSL
שמירה על עקביות בין עבודות יכולה להיות מאתגרת, אך תוסף Jenkins DSL פותר את הבעיה הזו. איך? על ידי התירה לך להגדיר עבודות בצורה תכנותית, בקובץ שניתן לקריאה על ידי אדם.
אבל לפני שתיצור עבודות, עליך להתקין את תוסף Jenkins DSL תחילה:
1. התחבר ב-SSH לשרת ה-Jenkins שלך והרץ את הפקודה הבאה כדי לוודא שיש לך את הגרסה הנדרשת של Java מותקנת ושהשירות של Jenkins פועל.
אתה מוכן להתקין את תוסף Jenkins DSL אם אתה רואה פלט דומה למטה.

2. לאחר מכן, פתח את הדפדפן האינטרנט המועדף עליך ונווט אל http://your_server_ip:8080/pluginManager/available. החלף את your_server_ip:8080 בכתובת ה-IP האמיתית של שרת ה-Jenkins שלך ובמספר הפורט.
3. לבסוף, התקן את התוסף Jenkins DSL באמצעות השלבים הבאים:
- כפי שמוצג למטה, הקלד Job DSL בתיבת החיפוש בפינה הימנית העליונה.
אם כבר מותקן לך תוסף Job DSL וביצעת שדרוג מגרסה ישנה יותר, הסקריפטים של Job DSL לא יופיעו ברשימה בעת חיפוש ל-Job DSL. ניתן לנווט אל http://your_server_ip:8080/pluginManager/installed כדי לבדוק האם התוסף Job DSL קיים שם.
- סמן את תיבת הסימון ליד האפשרות Job DSL.
- לחץ על Install without restart בתחתית הדף כדי להתקין את תוסף Jenkins Job DSL.

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

יצירת עבודת זרע Jenkins באמצעות תוסף Jenkins DSL
עכשיו שהתקנת את תוסף Jenkins DSL, תרגיש חופשי ליצור עבודת זרע Jenkins. כתוב סקריפט יסודי של Job DSL ושבץ את הסקריפט בעבודת זרע Jenkins. תיצור עבודה חופשית שמדפיסה הודעת 'Hello World!' לקונסולת ה-Jenkins.
כדי לשבץ סקריפט Job DSL לתוך משימת השקת Jenkins:
1. נווט ללוח בקרת Jenkins שלך ולחץ על פריט חדש בסרגל הצד השמאלי. הדפדפן שלך מופנה אותך לדף בו תוכל ליצור פריט חדש (שלב שני).

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

3. שמור על הגדרות ברירת המחדל לכל קטע אחר בדף ההגדרות החדש של הפריט.
גלול למטה לקטע הבנייה, לחץ על כפתור הרשימה הנפתחת "הוסף שלב בנייה" ובחר ב״Process Job DSLs״. כך תפתח אפשרות בה תזין סקריפט DSL (שלב רביעי).

4. כעת, בחר באפשרות "השתמש בסקריפט DSL שסופק", כפי שמוצג למטה, ומלא את בלוק הקוד הבא בשדה.
בלוק קוד זה הוא הגדרת משימת פרוייקט חופשי בשם jenkins-job-demo-1 שמשתמשת בשלב shell להדפסת הודעת "שלום עולם". שם המשימה הוא מה שיפיקר בממשק ה-UI של Jenkins.
ישנם דרכים רבות זמינות ליצירת סוגים שונים של עבודות Jenkins, שאתה יכול למצוא במסמך הרשמי התיעוד.

5. לחץ על שמירה בחלק התחתון של העמוד כדי לשמור את התצורה עבור הפריט (הזרע).

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

הפעלת עבודה זרעית
יצרת ווידאת בהצלחה את העבודה הזרעית. אבל איך תדע שהעבודה עובדת? תפעיל את העבודה הזרעית נגד סקריפט DSL שסיפקת בשלב הרביעי של קטע "יצירת עבודה זרעית של Jenkins באמצעות תוסף DSL של Jenkins".
1. בלוח המחוונים שלך של Jenkins, לחץ על העבודה הזרעית כדי לנווט לדף התצורה שלה.

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

3. לחץ על F5 כדי לרענן את העמוד. תראה כי יופיע בנייה חדשה מתחת לחלק ההיסטוריה עם סטטוס הצלחה (סימן ירוק) בקצה השמאלי התחתון, כפי שמוצג למטה.
הפלט הזה מציין שהעבודה הזרעית פועלה בהצלחה, יצרה עבודה חדשה של Jenkins (jenkins-job-demo-1) תחת המקטע שנוצר.

4. כעת, נווט ללוח המחוונים שלך של Jenkins. כפי שמוצג למטה, תראה את העבודה החדשה של Jenkins (jenkins-job-demo-1) שנוצרה על ידי העבודה הזרעית.
לחץ על העבודה החדשה שנוצרה לגישה לדף התצורה שלה.

5. לחץ על בנייה עכשיו כדי להפעיל את העבודה שנוצרה (jenkins-job-demo-1).

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

במידה והמשימה עובדת תפורסם ההודעה שאומרת "שלום עולם! המשימה עובדת!!", כפי שמוצג למטה, שהיא ההודעה שהוגדרה בתסריט Job DSL.
עד כאן, יצרת והרצת בהצלחה משימת Jenkins באמצעות תוסף Job DSL!

יצירת משימה עבור צינור CI/CD באמצעות תוסף Jenkins DSL
עד כה, למדת כיצד ליצור ולהפעיל משימת Jenkins בסגנון חופשי באמצעות התוסף Job DSL. תפעל את החלק שלא אנושי בתהליך פיתוח התוכנה על ידי יצירת משימת Jenkins עבור צינור CI/CD.
במדויק, יתבצע יצירת עבודה שמושכת קוד ממאגר GitHub, מבצעת בנייה של הקוד, ומריצה את הטסטים היחידה.
כדי ליצור משימת Jenkins עבור צינור CI/CD:
1. נווט אל http://your_server_ip:8080/job/seed/configure בדפדפן האינטרנט שלך כדי להגדיר את המשימה שלך. החלף את your_server_ip בכתובת ה-IP של שרת Jenkins שלך, והחלף את seed בשם המשימה שלך.
2. לאחר מכן, גלול למטה אל חלק הבנייה, מצא את שדה תסריטי ה-DSL והחלף את התוכן הקיים בקוד הבא.
לחץ על שמירה לאחר שהוספת את הקוד כדי לשמור את השינויים.

שלב 3: לחץ על "בנייה כעת" בסרגל הצד השמאלי במסך הבא כדי להפעיל מחדש את המשימה הזרע, כפי שמוצג למטה. בתחום ההיסטוריה של הבנייה (בחלקו התחתון השמאלי), תראה שהמשימה הזרע הוצלחה.
לחץ על בנייה חדשה (#2) כדי לגשת לדף התצורה של הבנייה החדשה.

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

שלב 5: חזור ללוח המחוונים של Jenkins, ותראה שהמשימה בצינור העבריה החדשה (jenkins-job-demo-2) נוספה לרשימת המשימות. לחץ על הצינור החדש הזה כדי לגשת לדף התצורה של המשימה.

שלב 6: לבסוף, לחץ על "בנייה כעת" כדי להפעיל את משימת הצינור החדש. תראה שהמשימה הופעלה בהצלחה, כפי שמוצג בחלק ההיסטוריה של הבנייה.
לחץ על החץ הנפתח ליד המשימה ובחר בפלט הקונסולה.

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

מסקנה
במדריך זה, למדת כיצד ליצור משימות Jenkins עם תוסף Job DSL. נגעת בשיפור פיתוח היישומים על ידי יצירת צינור CI/CD עם תוסף Jenkins Pipeline.
התוסף Job DSL והתוסף של צינור Jenkins פועלים בצד אחד לצד כדי להציע דרך עוצמתית שבה תוכל לנהל עבודות Jenkins וצינורות בנייה. למה לא להגדיר את התוספים הללו כך שיצורו צינורות בנייה מורכבים שמפעילים אוטומטית עבודות Jenkins כחלק מתהליך הבנייה?