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

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

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

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

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

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

הגדרת פריסה רציפה מממשק המשתמש של 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 – אם עדיין לא אימתתם את החשבון, לוחצים על אימות ופועלים לפי ההוראות. כברירת מחדל, חיבור מאגר מתבצע באמצעות אפליקציית 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 – אם עדיין לא אימתתם את החשבון, לוחצים על אימות ופועלים לפי ההוראות. כברירת מחדל, חיבור מאגר מתבצע באמצעות אפליקציית 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 כמפתח ומזהה ייחודי של טריגר Cloud Build כערך (לא שם הטריגר). הוראות להגדרת התווית