פריסה רציפה מ-Git באמצעות Cloud Build

אתם יכולים להשתמש ב-Cloud Build כדי ליצור אוטומטית פיתוח גרסאות ופריסות ב-Knative serving באמצעות טריגר לפיתוח גרסת Build של Cloud Build. כך תוכלו ליצור ולפרוס אוטומטית את הקוד שלכם בכל פעם שמתבצעות פעולות קומיט חדשות בענף מסוים של מאגר Git.

כשמשתמשים בטריגר לפיתוח גרסת Build של Cloud Build כדי ליצור קונטיינרים, פרטי מאגר המקור מוצגים במסוף Google Cloud עבור השירות אחרי הפריסה ב-Knative serving.

לפני שמתחילים

  • יש לכם מאגר git עם Dockerfile או שבסיס הקוד שלכם כתוב באחת מהשפות שנתמכות על ידי Google Cloud's buildpacks:‏ Go, ‏ Node.js, ‏ Python, ‏ Java או ‎ .NET Core.
  • מפעילים את Cloud Build API ואת Cloud Source Repositories API.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    הפעלת ממשקי ה-API

הגדרת פריסה רציפה מממשק המשתמש של Knative serving

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

שירות חדש

  1. נכנסים אל Knative serving במסוף Google Cloud :

    מעבר אל Knative serving

  2. לוחצים על יצירת שירות.

  3. ממלאים את הגדרות השירות בהעדפות שלכם.

  4. לוחצים על הבא.

  5. בוחרים באפשרות Continuously deploy new revisions from a source repository (פריסה רציפה של עדכונים חדשים ממאגר מקור).

    הגדרה באמצעות Cloud Build

  6. לוחצים על הגדרה באמצעות Cloud Build.

  7. בוחרים את הספק ואת המאגר.

    • GitHub – אם עדיין לא עברתם אימות, לוחצים על Authenticate (אימות) ופועלים לפי ההוראות. כברירת מחדל, הקישור למאגר מתבצע דרך אפליקציית Cloud Build GitHub. לחלופין, אפשר לשכפל את המאגר ב-GitHub ב-Cloud Source Repositories. כדי לעשות זאת, לוחצים על אפשרות מתקדמת ומסמנים את התיבה שיקוף מאגר GitHub באמצעות Cloud Source Repositories. מידע נוסף
    • Bitbucket – אם עדיין לא עברתם אימות, לוחצים על Authenticate (אימות) ופועלים לפי ההוראות.
    • Cloud Source Repositories

    הגדרת פריסה רציפה, שלב 1

  8. לוחצים על הבא.

  9. ממלאים את האפשרויות בשלב Build Configuration (הגדרת בנייה):

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

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

      • אחרת, בוחרים באפשרות Google Cloud Buildpacks. משתמשים בBuildpack context כדי לציין את הספרייה ובEntrypoint (אופציונלי) כדי לספק את הפקודה להפעלת השרת. דוגמה: ‫gunicorn -p :8080 main:app ל-Python, ‫java -jar target/myjar.jar ל-Java. כדי להשתמש בהתנהגות ברירת המחדל, משאירים את השדה ריק.

    הגדרת פריסה רציפה שלב 2

  10. לוחצים על Save.

  11. בודקים את ההגדרות שנבחרו.

    הגדרת אימות של פריסה רציפה

  12. לוחצים על יצירה.

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

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

    • כפתור העריכה של פריסה רציפה.
    • יצירת היסטוריה.
    • פרטי המקור בקטע פרטי הגרסה.

שירות קיים

  1. נכנסים אל Knative serving במסוף Google Cloud :

    מעבר אל Knative serving

  2. מחפשים את השירות ברשימת השירותים ולוחצים עליו.

  3. לוחצים על הגדרת פריסה רציפה.

  4. בוחרים את הספק ואת המאגר.

    • GitHub – אם עדיין לא עברתם אימות, לוחצים על Authenticate (אימות) ופועלים לפי ההוראות. כברירת מחדל, הקישור למאגר מתבצע דרך אפליקציית Cloud Build GitHub. לחלופין, אפשר לשכפל את המאגר ב-GitHub ב-Cloud Source Repositories. כדי לעשות זאת, לוחצים על אפשרות מתקדמת ומסמנים את התיבה שיקוף מאגר GitHub באמצעות Cloud Source Repositories. מידע נוסף
    • Bitbucket – אם עדיין לא עברתם אימות, לוחצים על Authenticate (אימות) ופועלים לפי ההוראות.
    • Cloud Source Repositories

    הגדרת פריסה רציפה, שלב 1

  5. לוחצים על הבא.

  6. ממלאים את האפשרויות בשלב Build Configuration (הגדרת בנייה):

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

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

      • אחרת, בוחרים באפשרות Google Cloud Buildpacks. משתמשים בBuildpack context כדי לציין את הספרייה ובEntrypoint (אופציונלי) כדי לספק את הפקודה להפעלת השרת. דוגמה: ‫gunicorn -p :8080 main:app ל-Python, ‫java -jar target/myjar.jar ל-Java. כדי להשתמש בהתנהגות ברירת המחדל, משאירים את השדה ריק.

    הגדרת פריסה רציפה שלב 2

  7. לוחצים על Save.

  8. הדף נטען מחדש ומוצגת בו ההתקדמות של הגדרת הפריסה הרציפה.

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

    • כפתור העריכה של פריסה רציפה.
    • בניית היסטוריה.
    • פרטי המקור בקטע פרטי הגרסה.

הגדרה ידנית של פריסה רציפה

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

צירוף טריגר קיים של Cloud Build לשירות Knative Serving.

אם כבר יש לכם טריגר לפיתוח גרסת Build קיים של Cloud Build, אתם יכולים לחבר אותו לשירות וליהנות מתכונות המסוף בדף הפרטים של השירות: הלחצן Edit Continuous Deployment והתרשים Build History. Google Cloud

כדי לעשות זאת, צריך להוסיף תווית עם gcb-trigger-id כמפתח ומזהה ייחודי של טריגר לפיתוח גרסת Build כערך (לא שם הטריגר). הוראות להגדרת התווית