Jenkins Git Integration - שימושי לכל איש מקצוע של DevOps



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

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

אז בואו נתחיל עם הנושא הראשון שלנו.





מה זה גיט - למה גיט נכנס לקיום?

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

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



ישנם שני סוגים של VCS:

  • מערכת בקרת גרסאות מרכזית (CVCS)

  • מערכת בקרת גרסאות מבוזרת (DVCS)



מרכזי VCS

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

אנא עיין בתרשים למטה כדי לקבל מושג טוב יותר על CVCS:

מהי שיטה המסתתרת בג'אווה

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

כל מתכנת יכול לחלץ או עדכון את תחנות העבודה שלהם עם הנתונים שנמצאים במאגר. הם יכולים גם לבצע שינויים בנתונים או לְבַצֵעַ למאגר. כל פעולה מתבצעת ישירות במאגר.

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

  • זה לא זמין באופן מקומי, כלומר אתה תמיד צריך להיות מחובר לרשת כדי לבצע פעולה כלשהי.

  • מכיוון שהכל מרוכז, בכל מקרה שהשרת המרכזי יתרסק או יתקלקל יביא לאובדן כל הנתונים של הפרויקט.

זה המקום בו VCS מבוזר פותר את הבעיה.

VCS מבוזר

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

תוכלו להבין זאת טוב יותר על ידי התייחסות לתרשים להלן:

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

הם יכולים לעדכן את המאגרים המקומיים שלהם עם נתונים חדשים מהשרת המרכזי על ידי פעולה הנקראת ' מְשׁוֹך 'ומשפיעים על שינויים במאגר הראשי על ידי פעולה הנקראת' לִדחוֹף 'מהמאגר המקומי שלהם.

בואו ננסה לדעת על ההגדרה של גיט.

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

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

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

  • לפיכך, לגיט תפקיד חשוב בהצלחה ב- DevOps.

מה זה ג'נקינס?

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

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

ג'נקינס משיג אינטגרציה רציפה בעזרת תוספים. תוספים מאפשרים שילוב של שלבי DevOps שונים. אם ברצונך לשלב כלי מסוים, עליך להתקין את התוספים לכלי זה. לדוגמא Git, פרויקט Maven 2, אמזון EC2, מפרסם HTML וכו '.

היתרונות של ג'נקינס כוללים:

  • זהו כלי קוד פתוח עם תמיכה נהדרת בקהילה.

  • קל מדי להתקנה.

  • יש לו יותר מ -1,000 תוספים כדי להקל על העבודה שלך. אם תוסף לא קיים, אתה יכול לקודד אותו ולשתף אותו עם הקהילה.

  • זה ללא עלות.

  • הוא בנוי עם Java, ולכן הוא נייד לכל הפלטפורמות הגדולות.

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

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

מדוע משתמשים בג'נקינס וגיט יחד?

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

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

יתרונות:

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

דוגמא:

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

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

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

הַדגָמָה

כאן נראה כיצד ניתן לשלב את גיט עם ג'נקינס. ישנם 5 שלבים שעליך לבצע:

1. צור תוכנית לדוגמא:

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

2. צור עבודה בג'נקינס:

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

    להפוך מספר בג'אווה
  • לשם כך, תחילה עליך לנווט למיקום Jenkins במערכת שלך ולהשתמש בפקודה java -jar jenkins.war

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

  • פתח את דף הבית של ג'נקינס מאת הזנת שם המשתמש והסיסמה.

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

3. הוסף תוכנית זו ל- Github:

  • פתח git bash במערכת שלך. נווט למיקום התוכנית שלך. אתחל מאגר ריק באמצעות הפקודה git init .

  • השתמש בפקודה להוסיף git. כדי להוסיף את הקובץ לאזור ההיערכות מספריית העבודה.

  • כעת הוסף את הקובץ למאגר המקומי באמצעות הפקודה git commit -m 'נוסף קובץ demo.py' .

  • עכשיו אתה צריך לִדחוֹף קובץ זה למאגר המרוחק. לשם כך עבור לחשבון GitHub שלך וצור מאגר ציבורי חדש. כעת העתק את מיקום המאגר הזה ועבור למסוף git bash. כאן הקלד את הפקודה מרחוק git להוסיף מקור . מאז התחברת למאגר המרוחק, כעת תוכל לדחוף לשם את הקוד שלך באמצעות הפקודה git push-master master. כדי לאמת זאת עבור לחשבון GitHub ורענן את הדף. תראה את הקובץ שנוסף שם.

4. הוסף תוסף Git בג'נקינס:

  • בדף הבית של ג'נקינס עבור אל נהל את ג'נקינס .

  • לאחר מכן לחץ על נהל תוספים . כאן בדוק יש תוסף Git בקטע המותקן. אם זה לא זמין כאן חפש אותו בקטע הזמין והורד אותו.

5. הגדר את עבודת Jenkins כך שתפעיל את ה- build:

  • עבור לפרויקט בג'נקינס שיצרנו בשלב 2. כאן בסעיף ניהול קוד המקור, בחר git והזן את הקישור של המאגר הציבורי שיצרת בשלב 3. הבא ב- סעיף בניית טריגרים , לחץ על סקר אפשרות SCM . כאן בחלק לוח הזמנים, עליך להזין חמש כוכביות המופרדות על ידי שטח. זה אינו אלא תחביר קרון לעבודה שלך. המשמעות היא שג'נקינס יבדוק כל שינוי בקוד המקור בכל דקה ואם יש שינוי זה יפעיל את בניית ג'נקינס.

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

אז ככה נעשה אינטגרציה של ג'נקינס גיט. עם זאת הגענו לסוף מאמר זה בנושא אינטגרציה של ג'נקינס גיט. אני מקווה שנהניתם ממאמר זה.

עכשיו שהבנת מה אינטרקציה של ג'נקינס גיט זה, לבדוק את זה מאת אדוריקה, חברת למידה מקוונת מהימנה עם רשת של יותר מ -250,000 לומדים מרוצים הפזורים ברחבי העולם. קורס הכשרת ההסמכה של Edureka DevOps עוזר ללומדים להבין מה זה DevOps ולצבור מומחיות בתהליכים וכלים שונים של DevOps כמו Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack ו- GIT לאוטומציה של שלבים מרובים ב- SDLC.

יש לך שאלה עבורנו? אנא הזכיר זאת בסעיף ההערות ונחזור אליך