PracticU

Jenkins - חלק 1

בלי כתוביותעם כתוביות
PracticU › קורס סלניום מתקדם - CI/CD - Continues Integration › Jenkins - חלק 1
מילון מושגים:
Jenkins - שרת בקוד פתוח לאוטומציה של בנייה, בדיקות ופריסה, נפוץ בתהליכי אינטגרציה רציפה (CI/CD).
קוד פתוח - תוכנה שקוד המקור שלה זמין לציבור לצפייה, לשימוש ולשינוי, לרוב לפי רישיון מתאים.
Java - שפת תכנות עילית ומונחית עצמים, הרצה על מכונה וירטואלית (JVM) ומשמשת לפיתוח מגוון יישומים.
פריסה - העברת תוכנה מסביבת פיתוח לסביבה שבה היא תרוץ בפועל, כדי להעמידה לשימוש.
בדיקות אוטומטיות - הרצת בדיקות תוכנה באמצעות סקריפטים וכלים, במקום בדיקה ידנית, כדי לחסוך זמן ולהגדיל כיסוי.
דוח - מסמך או תצוגה שמסכמים נתונים בצורה מאורגנת לצורך הבנה וקבלת החלטות.
מעטפת - תוכנה שמפרשת פקודות של המשתמש ומעבירה אותן למערכת ההפעלה, למשל Bash או PowerShell.
רגרסיה - בדיקות שמוודאות שתכונות שעבדו קודם ממשיכות לעבוד גם לאחר שינויים בקוד.

Jenkins - חלק 1
Jenkins הוא כלי קוד פתוח, מבוסס Java, שמריץ תהליכי בנייה ופריסה, ויכול להריץ את טסטי האוטומציה מיד אחרי כל פריסה. השיעור מסביר מה הוא נותן לפרויקט האוטומציה ולמה הוא נחוץ.
למה Jenkins
1. Continuous Integration: בשיטה המודרנית הקוד מתעדכן בתדירות גבוהה, וכל עדכון צריך להיבדק מיד. Jenkins מחבר בין שלבי הבנייה, הפריסה והבדיקה.
2. הרצה מתוזמנת: הטסטים רצים לפי לוח זמנים או מיד אחרי פריסה, בלי צורך לעמוד מול המחשב.
3. דוחות והתראות: התוצאה נשלחת במייל, ונשמרת היסטוריה של כל הריצות.
4. התקנה קלה וחינמית: Jenkins קל להתקנה, והוספת קובץ batch או shell לריצה אינה מסובכת.
איך זה משתלב
צוות הפיתוח מבצע פריסה של הקוד החדש. Jenkins מפעיל מיד אחריה את טסטי האוטומציה, כדי לוודא שהפריסה לא גררה רגרסיה או תקלה. התוצאה מראה אם הפריסה עברה בהצלחה.
בשיעור הבא מתקינים את Jenkins על המחשב.
השיעור הבא בקורס: Jenkins - חלק 2

פרקי ההרצאה: Jenkins - חלק 1

  1. 00:00

    מטרת השיעור: שילוב הטסטים עם Jenkins

  2. 00:38

    מושגי יסוד: פיתוח ו-Deployment

  3. 01:57

    מהו Jenkins וה-Continuous Integration

  4. 02:55

    הרצת סקריפטים ומייבן מתוך Jenkins

  5. 03:56

    Jenkins כנקודת מפגש בין הפיתוח לטסטים

  6. 05:16

    למה Jenkins: התקנה קלה וחינמי

תמלול ההרצאה: Jenkins - חלק 1

הטקסט המלא של הדקות הראשונות בהרצאה «Jenkins - חלק 1» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    שלום לכולם, בשיעור הקרוב נעשה קריאות עם הג'נקינס. אז מהו הג'נקינס ואיך הוא עוזר לנו בפרויקט האוטומציה שלנו? במהלך הקורס הכרנו את היכולת שלנו להשפיע על Web-Element ולהפוך את היכולת הזאת של הסלניום לטסטים בעזרת ה-TestNG, לתת את הפעולות שלנו בעזרת לוק 4J, להציג את התוצאות של הריצה שלנו ב-ReportNG,

  2. 00:26

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

  3. 00:44

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

  4. 00:58

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

  5. 01:20

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

  6. 01:43

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

  7. 02:00

    הג'נקינס הוא Open Source, זאת אומרת הוא כלי של קוד פתוח, ניתן להוסיף אליו מלא פיתוחים והרבה תוספים, פלאגינים, והוא משמש ל-Continuous Integration.

  8. 02:11

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

  9. 02:28

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

  10. 02:44

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

  11. 03:14

    לינוקס, וכך אנחנו יכולים לשלב את היכולת שלנו להריץ את הטסטים מיד אחרי ה-deployment. שוב, התהליך הוא כזה, הצוות R&D מבצע הפרצה, ואילו אנחנו נרצה לוודא שההפצה, שתהליך הדיפלוימנט בוצע כראוי בעזרת הטסטים האוטומטיים.

  12. 03:41

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

  13. 04:00

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

  14. 04:39

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

  15. 05:07

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

  16. 05:20

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

  17. 05:44

    הוא חינמי, זה חשוב, זה מוצר זול וקל להכניס

לקורס המלא: קורס סלניום מתקדם אונליין

ההרצאה הקודמת: Maven - חלק 7

ההרצאה הבאה: Jenkins - חלק 2

קורסים נוספים במסלול

  • קורס מבוא ל-QA - מידע חשוב לבודק תוכנה
  • קורס פוסטמן - Postman - בדיקות לאתרי אינטרנט - API
  • קורס Robot Framework - בדיקות QA ממשק גרפי
  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס סלניום בסיסי - בדיקות אוטומטיות - Selenium
  • קורס מייבן - Maven