אינטגרציה רפויה של ג'נקינס

1. סקירה כללית

כאשר הצוותים שלנו אחראים לשיטות DevOps, לעתים קרובות אנו צריכים לעקוב אחר בנייה ועבודות אוטומטיות אחרות.

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

2. הגדרת Slack

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

ב- Slack ניצור יישום וניצור אסימון OAuth:

  • בקר ב //api.slack.com
  • התחבר לסביבת העבודה הרצויה
  • לחץ על התחל לבנות לַחְצָן
  • תן שם ליישום ג'נקינס ולחץ צור אפליקציה
  • לחץ על OAuth והיתרים
  • בתוך ה טווחי בוט אסימונים סעיף, הוסף את צ'אט: לכתוב תְחוּם
  • לחץ על התקן את האפליקציה לסביבת העבודה לַחְצָן
  • לחץ על לְקַבֵּל לַחְצָן

כאשר זה נעשה, נראה מסך סיכום:

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

כדי להשלים את ההתקנה Slack, עלינו להזמין את המשתמש החדש של Jenkins לערוצים שאנחנו רוצים להשתמש בהם. אחת הדרכים הקלות לעשות זאת היא להזכיר את המשתמש החדש עם ה- @ דמות בתוך כל ערוץ.

3. הקמת ג'נקינס

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

ראשית, נתחיל בכניסה לג'נקינס וניווט אל נהל את ג'נקינס >מנהל התוספים.

ואז, על זמין הכרטיסייה, אנו נחפש רָפוּי:

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

כעת עלינו להגדיר אישורים חדשים. בוא ננווט אל ג'נקינס> אישורים> מערכת> אישורים גלובליים ולהוסיף חדש טקסט סודי תְעוּדָה:

נכניס את אסימון ה- OAuth מ- Slack לתוך ה- סוֹד שדה. עלינו לתת תעודות אלה תעודת זהות ותיאור משמעותיים שיעזרו לנו לזהות אותם בקלות מאוחר יותר. חנות האישורים של ג'נקינס היא מקום בטוח לשמור על האסימון הזה.

ברגע שנשמור את האישורים, יש להגדיר תצורה גלובלית אחת נוספת. תַחַת Jenkins> נהל Jenkins> הגדר מערכת, אנחנו צריכים לבדוק את משתמש בוט אפליקציה רפוי בהתאמה אישית תיבת סימון תחת רָפוּי סָעִיף:

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

4. קביעת תצורה של עבודה ג'נקינס מסורתית

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

על מנת לשלב עבודה מסורתית עם Slack, נשתמש בפעולה שלאחר הבנייה.

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

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

  • לאילו שלבי בנייה לשלוח הודעות (התחלה, הצלחה, כישלון וכו ')
  • שם האישורים לשימוש - אלה שהוספנו קודם
  • שם הערוץ הרפה או מזהה החבר שאליו ניתן לשלוח הודעות

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

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

אם ההודעה לא מופיעה, קבצי היומן של ג'נקינס שימושיים לפתרון בעיות. באופן כללי, אנחנו צריכים בדוק פעמיים כי הפעולה לאחר הבנייה כוללת את כל השדות הנדרשים, כי אסימון ה- OAuth הועתק כהלכה, וכי לאסימון הוענקו ההיקפים הנכונים כאשר הגדרנו את Slack.

5. קביעת תצורה של צינור ג'נקינס

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

הקטע הבא שולח הודעה ל- Slack מצינור Jenkins:

slackSend botUser: true, channel: 'builds', צבע: '# 00ff00', הודעה: 'Testing Jekins with Slack', tokenCredentialId: 'slack-token'

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

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

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

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

6. שיקולים נוספים

עכשיו, כשיש לנו ג'נקינס וסלאק מחוברים, יש כמה שיקולים נוספים.

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

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

לבסוף, בעוד שבדקנו את אחד התוספים הפופולאריים יותר של Slank עבור Jenkins, המספק שליטה דקה על מה לשלוח, ישנם מספר תוספים אחרים שמשרתים מטרות שונות. למשל, אם אנחנו רוצים כֹּל תפקידו של ג'נקינס לשלוח את אותה ההודעה, יש מודיע רפיון עולמי תוסף שעשוי להיות מתאים יותר לכך.

7. מסקנה

במאמר זה ראינו כיצד לשלב את ג'נקינס וסלאק כדי לקבל משוב על צינורות ה- CI / CD שלנו.

באמצעות תוסף Jenkins, יחד עם יישום Slack מותאם אישית, הצלחנו לשלוח הודעות מג'נקינס ל- Slack. זה מאפשר לצוותים להבחין בסטטוס של משרות ג'נקינס ולטפל בבעיות במהירות רבה יותר.


$config[zx-auto] not found$config[zx-overlay] not found