כיצד ליצור את צינור הג’נקינס הראשון שלך?

מדריך צעד אחר צעד ליצירת צינור ג’נקינס


מדוע צינור ג’נקינס?

משלוח רציף (CD) הוא חלק מהותי במחזור החיים של DevOps.

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

ב- DevOps מושגת שילוב רציף ומסירה רציפה (CI / CD) באמצעות צינור Jenkins. השימוש בצינור Jenkins עבור תקליטור מסייע בהעברת התוכנה במהדורות מהירות ותכופות. זה עוזר לשלב את המשוב בכל מהדורה הבאה.

מהי צינור ג’נקינס?

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

אני מניח שאתה יודע מה זה ג’נקינס. אם לא, בדוק זאת קורס אודמי למאסטר ג’נקינס.

צינור ג’נקינס מורכב מכמה מצבים או שלבים והם מוצאים להורג ברצף בזה אחר זה. JenkinsFile הוא קובץ טקסט פשוט המשמש ליצירת צינור כקוד בג’נקינס. הוא מכיל קוד בשפה ספציפית לתחום Groovy (DSL), שהוא פשוט לכתיבה וקריא אנושי.

או שתוכל להפעיל את JenkinsFile בנפרד, או שתוכל להריץ את קוד הצינור מממשק המשתמש של Jenkins Web. ישנן שתי דרכים בהן ניתן ליצור צינור באמצעות ג’נקינס.

  • הצהרתית – דרך חדשה ליצירת צינור ג’נקינס. כאן אתה כותב קוד גרובי המכיל חסימות “צינור”, שנבדק ב- SCM (ניהול קוד מקור)
  • תסריט – דרך לכתוב קוד גרובי בו מוגדר הקוד בתוך בלוקים “צומת”.

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

צור צינור ג’נקינס

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

צינור ג'נקינס

בואו ליצור צינור הצהרתי.

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

פריט חדש - צינור ג'נקינס

לחץ על הכרטיסייה צינור כפי שמוצג בתמונה למטה, והניח את קוד JenkinsFile שלך ​​(קוד גרובי) כאן.

קוד קובץ Jenkins

צנרת {
סוכן כלשהו
שלבים {
שלב (‘בנה’) {
צעדים {
הד ‘הי GeekFlare. מתחיל לבנות את האפליקציה. ‘
}
}
שלב (‘מבחן’) {
צעדים {
קלט (‘האם ברצונך להמשיך?’)
}
}
שלב (‘פריסה’) {
מקביל {
שלב (‘התחל לפרוס’) {
צעדים {
הד "התחל את הפריסה .."
}
}
שלב (‘פורס עכשיו’) {
סוכן {
הדוקר {
שימוש חוזר נכון
תמונה ‘nginx’
}
}

צעדים {
הד "Docker נוצר"
}
}
}
}
שלב (‘פרוד’) {
צעדים {
הד "היישום מוכן Prod"
}

}
}
}

הרשו לי להסביר את הבלוקים לעיל.

  • ה צנרת חסום מורכב מכל ההוראות לבנות, לבדוק ולמסור תוכנה. זהו מרכיב המפתח בצינור Jenkins.
  • א סוכן מוקצה לבצע את הצינור בצומת ולהקצות מרחב עבודה לצינור.
  • א שלב הוא בלוק שיש בו שלבים לבניית, בדיקה ופריסה של היישום. שלבים משמשים להמחשת תהליכי צינור Jenkins.
  • א שלב היא משימה אחת שתבוצע, לדוגמה, ליצור תיקייה, להפעיל תמונת docker, למחוק קובץ וכו ‘.

את קוד הגרובי למעלה, אני משתמש עבור JenkinsFile. כל סוכן זמין מוקצה לצינור. ואז אני מגדיר את שלב ה- Build ומבצע שלב הד פשוט. ואז הגדרתי את שלב הבדיקה שבו השלב שואל אם אתה רוצה להמשיך או לא. אחר כך יצרתי שלב פריסה, שיש בו שני שלבים נוספים בו פועלים במקביל. לפרוס שלב ההתחלה יש שלב עם הפקודה הד, ולפריסה כעת יש שלב שמושך תמונת חיבור של Nginx בצומת. לבסוף, יש שלב Prod עם שלב הד פשוט.

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

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

בנה עכשיו

כך ייראה ממשק המשתמש כאשר צנרת הפעולה. אם עקבת אחר כל השלבים בצורה נכונה, הבנייה שלך תצליח והיא תראה צבע כחול לבנייה (מס ’27). אם יש טעויות בבנייה, זה ייתן צבע אדום לבנייה (מס ’27).

ג'נקינס בונה 27

כעת לחץ על # 27 build ואז לחץ על פלט המסוף כדי לבדוק מה בדיוק קרה בקצה האחורי כשהוא רץ.

ג'נקינס בונה

כך ייראה הפלט מסתיים בהודעת SUCCESS.

פלט מסוף הצלחה

התחיל על ידי geekflare של משתמשים
ריצה ברמת עמידות: MAX_SURVIVABILITY
[צנרת] התחלת צינור
צומת צנרת
רץ על ג’נקינס ב- / var / lib / jenkins / סביבת עבודה / צינור ראשון
[צנרת] {
שלב [צנרת]
[צנרת] {(בנה)
הד צנרת
הי GeekFlare. מתחיל לבנות את האפליקציה.
[צנרת] }
[צנרת] // במה
שלב [צנרת]
[צינור] {(מבחן)
קלט [צנרת]
האם אתה רוצה להמשיך?
המשך או ביטול
אושר על ידי geekflare
[צנרת] }
[צנרת] // במה
שלב [צנרת]
[צינור] {(לפרוס)
[צנרת] במקביל
[צנרת] {(סניף: התחל לפרוס)
[צינור] {(סניף: פורס עכשיו)
שלב [צינור]
[צנרת] {(פרוס התחלה)
שלב [צנרת]
[צינור] {(פורס עכשיו)
[צינור] getContext
[צינור] הוא יוניקס
[צנרת] ש
הד צנרת
התחל את הפריסה ..
[צנרת] }
+ בדיקת הדוקר – nginx
[צנרת] // במה
[צנרת] }

שגיאה: אין אובייקט כזה: nginx
[צינור] הוא יוניקס
[צנרת] ש
+ הדוקר מושך
באמצעות תג ברירת מחדל: האחרונה
האחרונה: הוצאת מהספריה / nginx
8d691f585fa8: משיכת שכבת fs
5b07f4e08ad0: משיכת שכבת fs
abc291867bca: משיכת שכבת fs
abc291867bca: אימות צ’קסום
abc291867bca: ההורדה הושלמה
5b07f4e08ad0: אימות בדיקת המחאות
5b07f4e08ad0: ההורדה הושלמה
8d691f585fa8: אימות המחאות
8d691f585fa8: ההורדה הושלמה
8d691f585fa8: משיכה מלאה
5b07f4e08ad0: משיכה מלאה
abc291867bca: משיכה מלאה
עיכול: sha256: 922c815aa4df050d4df476e92daed4231f466acc8ee90e0e774951b0fd7195a4
סטטוס: תמונה חדשה יותר שהורדת ל- nginx: האחרונה
[צינור] withDockerContainer
נראה כי ג’נקינס לא רץ בתוך מכולה
הפעלת דוקר $ -t -d -u 125: 131 -w "/ var / lib / jenkins / סביבת עבודה / צינור ראשון" -v "/ var / lib / jenkins / סביבת עבודה / צינור ראשון: / var / lib / jenkins / סביבת עבודה / צינור ראשון: rw, z" -v "/ var / lib / jenkins / סביבת עבודה / First [מוגן בדוא”ל]: / var / lib / jenkins / סביבת עבודה / First [מוגן בדוא”ל]: rw, z" -e ******** -e ******** -e ******** -e ******** -e ******** – e ******** -e ******** -e ******** -e ******** -e ******** – e ******** -e ******** -e ******** -e ******** -e ******** – e ******** -e ******** -e ******** -e ******** -e ******** – e ******** -e ******** -e ******** חתול nginx
$ docker top 3141793b98f315dc90a57d810068b8eedb6f62debafb9040de06635b558f2943 -eo pid, comm
[צנרת] {
הד צנרת
Docker נוצר
[צנרת] }
עצירת הדוקר $ – זמן = 1 3141793b98f315dc90a57d810068b8eedb6f62debafb9040de06635b558f2943
$ docker rm -f 3141793b98f315dc90a57d810068b8eedb6f62debafb9040de06635b558f2943
[צינור] // withDockerContainer
[צנרת] }
[צנרת] // במה
[צנרת] }
[צנרת] // במקביל
[צנרת] }
[צנרת] // במה
שלב [צנרת]
[צינור] {(Prod)
הד צנרת
היישום מוכן Prod
[צנרת] }
[צנרת] // במה
[צנרת] }
[צנרת] // צומת
[צינור] סוף צינור
סיים: הצלחה

צינור Jenkins לעיל יצר תמונת עגינה של נגינקס. אתה יכול לאמת זאת על ידי הפעלת הפקודה שלהלן. אתה יכול לראות את תמונת הדוקר Nginx מופיעה גם היא.

[מוגן בדוא”ל]: ~ $ תמונת הדוקר
מזהה תמונה של תג משכפל גודל שנוצר
nginx האחרון 540a289bab6c לפני שבועיים 126MB
httpd האחרונה 7d85cc3b2d80 לפני חודשיים 154MB
redis האחרונה f7302e4ab3a8 לפני חודשיים 98.2MB
geekflare_mongodb האחרונה 095d17727ca0 לפני 3 חודשים 325MB

סיכום

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

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map