האם ידעת שב-Jenkins יש תמיכה מובנית ל-Continuous Integration/Continuous Delivery CI/CD? מימוש מנהרת CI CD של Jenkins עם הפרויקט שלך יכול לשפר משמעותית את תהליך פיתוח התוכנה שלך.
Jenkins הוא אחד מכלי האוטומציה של DevOps הפופולריים ביותר עד היום. ואם אתה מחפש להתחיל עם מנהרת CI CD של Jenkins, הגעת למקום הנכון.
המשך לקרוא, ובמדריך זה, אתה הולך ללמוד איך להגדיר מנהרת CI CD של Jenkins עם GitHub.
דרישות מוקדמות
מדריך זה מניח שיש לך את הדרישות הבאות להמשיך לעקוב אחר הדוגמאות.
אתה כבר צריך להיות עם התקנה של Jenkins. הדוגמאות במדריך זה יהיו באמצעות Jenkins v2.319.1 על מחשב Windows 10 20H2.
- הקונסולה האינטרנטית שלך של Jenkins חייבת להיות נגישה דרך האינטרנט.
- A Github account to which you’ll connect with the Jenkins CI CD pipeline.
- גיט SCM. במדריך זה אנו משתמשים בגירסה האחרונה (2.34.1) ביטים 64 של Git עבור Windows.
הכנת המאגר של GitHub
מדריך זה כולל אינטגרציה של צינור CI CD של Jenkins עם מאגר GitHub. במקום ליצור פרויקט ריק, התנצלות ממאגר קיים היא אפשרות מהירה יותר כדי להתחיל.
1. ראשית, פתח דפדפן והתחבר לחשבון ה-GitHub שלך.
2. לאחר מכן, נווט אל כתובת ה-MY של המאגר (אפליקציית MyShuttle2 ממסיב Connect 2016 של Microsoft). כאשר אתה נמצא בעמוד המאגר, לחץ על הכפתור לעקוב שבחלקו העליון-ימני של העמוד.

חכה שתסיים תהליך העקיפה. בסיום, יהיה לך את המאגר הנקרא "שם משתמש/MyShuttle2" בחשבון ה-GitHub שלך לו יש גישה מלאה.
3. כעת, הוסף קובץ חדש למאגר בשם Jenkinsfile. Jenkinsfile הוא קובץ טקסט שמכיל את ההגדרה של צינור Jenkins. הקובץ צריך להיות בתוך מאגר קוד המקור.
בעמוד המאגר שלך, לחץ על הוספת קובץ -> יצירת קובץ חדש.

4. הקלד את Jenkinsfile כשם הקובץ החדש. לאחר מכן, העתק את הקוד למטה והדבק אותו לתוך קובץ ה-Jenkins שלך.
- המונח צינור הוא סט של הוראות שנכתבות בקוד למטרת מסירה רציפה.
- A stage block contains a series of steps in a pipeline, visualizing the Jenkins pipeline process.
- A step is a single task that executes a specific process at a defined time. A pipeline contains a series of steps.
קובץ ה-Jenkinsfile הזה הוא דוגמה בסיסית רק של סקריפט צינור. בייצור, סקריפטי צינור יהיו מורכבים יותר ויכלולו פעולות מרובות על שלבים אחדים או על כל השלבים.
לאחר כתיבת הקוד, הקובץ שלך יראה כמו התמונה למטה.

5. גלול לתחתית העמוד ולחץ על Commit new file.

כעת יש לך קובץ Jenkinsfile במאגר שלך.

6. לבסוף, העתק את כתובת ה-URL של המאגר. כדי לעשות זאת, לחץ על Code ולחץ על הלחצן העתק. תצטרך את כתובת ה-URL התוצאה בעת יצירת צינור ה- Jenkins CI CD.

יצירת צינור CI CD של Jenkins
פיתוח תכונה משלב הרבה שינויי קוד. בין כל שינוי קוד, יש סט של משימות לביצוע. משימות אלו עשויות לכלול התחייבויות של שינויים, קידום, בדיקה ואריזה.
שירותי אוטומציה כגון Jenkins עוזרים להפוך את השלבים הללו למהירים וללא שגיאות.
1. פתח דפדפן, נווט לכתובת ה-URL שלך של Jenkins והתחבר.
2. בלוח הבקרה של Jenkins, לחץ על אפשרות פריט חדש בתפריט הצד שמאל.

3. הזן את שם צינור החדש. למדריך זה, נתתי לו את השם demoPipeline ובחרתי בתבנית ה-Pipeline. לחץ על אישור כדי לסיים.

4. בדוק את תיקיית הפרויקט ב-GitHub תחת הלשונית כללי בדף התצורה. לאחר מכן, הדבק את כתובת ה-URL שהעתקת מראש לתיקיית כתובת הפרויקט.

5. גלול למטה אל המקטע גורמי הבנייה ובדוק את תיבת ה-GitHub hook trigger for GITScm polling, כמו שמוצג בתמונה למטה.

6. לאחר מכן, גלול יותר למטה למקטע צינור העבודה ובחר/ציין את הערכים הבאים:
- הגדרה: תסריט צינור מ-SCM
- SCM: Git
- כתובת ה-Repository: כתובת ה-Repository שלך

7. גלול לתחתית הדף ווודא שערך נתיב התסריט הוא Jenkinsfile. ערך זה מתייחס ל-Jenkinsfile שיצרת בשלב הכנה של ה-Repo שלך ב-GitHub. לבסוף, לחץ על שמירה.

הגדרת Webhook ב-GitHub
כדי ש-Jenkins יריץ משימה חדשה, עליך ליצור תפקיד ב-GitHub. תפקיד זה יודיע ל-Jenkins ברגע שיתרחש דחיפה חדשה ב-Repository.
למעקב אחר השלבים ליצירת Webhook עקוב אחר השלבים למטה.
1. נווט לדף הגדרות ולחץ על לשונית Webhooks ב-Repository שלך ב-GitHub. בדף Webhooks, לחץ על Add webhook.

2. ציין את כתובת ה-URL של Jenkins שלך והוסף את /github-webhook/ בשדה Payload URL. לדוגמה, HTTP://jenkinsURLhere/github-webhook/.
כמו כן, שנה את הערך של Content type ל-application/json.

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

4. גלול למטה וסמן את התיבות Pushes ו-Pull requests. אפשרויות אלו יבטיחו ש-GitHub ישלח payload ל-Jenkins במהלך אירועים אלו.

5. אמת את ה-webhook על ידי לחיצה על הכפתור Add webhook בתחתית העמוד. אם אימות ה-webhook התבצע בהצלחה, תראה הודעה בחלק העליון של העמוד דומה לתמונה למטה.

ביצוע והפעלת העבודה של צינור CI CD ב-Jenkins
עכשיו שיצרת והגדרת את הצינור שלך, איך תדע שהצינור עובד? Jenkins מספקת תוסף ל-Pipeline Stage View שיעזור לך לראות את מצב הצינור.
1. כדי לפתוח את מצב הצינור, פתח את הצינור ב-Jenkins ולחץ על Status. כפי שאתה יכול לראות למטה, מצב ה-Stage View מציין No data available מכיוון שלא הייתה אירוע שיפעיל את הצינור.

שלב 2. כדי ליצור נתוני בנייה ראשוניים, לחץ על בנה כעת והמתן עד שתשלים תהליך הבנייה. כפי שניתן לראות למטה, מצב השלב כעת מציין רשומה אחת, אומרת שאין שינויים בבנייה זו.

שלב 3. כעת, נבדוק את הצינור על ידי קביעת קובץ דמי למחסור במאגר הקוד. כדי לעשות זאת, חזור למאגר ה-GitHub שלך ולחץ על הוסף קובץ —> צור קובץ חדש.
הכנס את dummy כשם הקובץ החדש ווודא שתוסיף תוכן.

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

סיכום
מכלל המדריך הזה, למדת איך להגדיר צינור CI/CD ב-Jenkins כדי לאוטומטизיה של מחזור חיי פיתוח התוכנה. למדת גם כיצד להשתמש ב-Jenkins כדי לשמר שרשרת פעולות לצורך CI בפרויקט תוכנה.
האם אתה חושב שצינור CI/CD של Jenkins הוא אסטרטגיה שתחיל ליישם בפרויקטים שלך? או שיש לך כבר אחת שאתה מאמין שהיא פתרון יותר טוב ל- CI/CD?