פריסה רציפה מ-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, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

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

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

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

שירות חדש

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

    מעבר אל Knative serving

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

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

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

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

    איך מגדירים באמצעות Cloud Build

  6. לוחצים על Set up with Cloud Build (הגדרה באמצעות Cloud Build).

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

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

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

    הגדרת פריסה רציפה (CD) שלב 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, אתם יכולים לחבר אותו לשירות וליהנות מהתכונות של מסוף Google Cloud בדף הפרטים של השירות: הלחצן פריסה רציפה (CD) והתרשים Build History.

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