אתם יכולים להשתמש ב-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). איך מקצים תפקידים
הגדרת פריסה רציפה מממשק המשתמש של Knative serving
התהליך משתנה מעט בהתאם לשאלה אם אתם מגדירים פריסה רציפה בשירות חדש או בשירות קיים. כדי לקבל מידע נוסף, אפשר ללחוץ על הכרטיסייה המתאימה.
שירות חדש
נכנסים אל Knative serving במסוף Google Cloud :
לוחצים על יצירת שירות.
ממלאים את הגדרות השירות בהעדפות.
לוחצים על הבא.
בוחרים באפשרות פריסה רציפה של עדכונים חדשים ממאגר מקור.
לוחצים על Set up with Cloud Build (הגדרה באמצעות Cloud Build).
בוחרים את הספק ואת המאגר.
- GitHub – אם עדיין לא עברתם אימות, לוחצים על אימות ופועלים לפי ההוראות. כברירת מחדל, הקישור למאגר מתבצע דרך אפליקציית Cloud Build GitHub. לחלופין, אפשר לשכפל את המאגר ב-GitHub ב-Cloud Source Repositories. כדי לעשות זאת, לוחצים על אפשרות מתקדמת ומסמנים את התיבה שיקוף מאגר GitHub באמצעות Cloud Source Repositories. מידע נוסף
- Bitbucket – אם עדיין לא עברתם אימות, לוחצים על Authenticate (אימות) ופועלים לפי ההוראות.
- Cloud Source Repositories
לוחצים על הבא.
ממלאים את האפשרויות בשלב 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. אם משאירים את השדה ריק, המערכת משתמשת בהתנהגות ברירת המחדל.
לוחצים על Save.
בודקים את ההגדרות שנבחרו.
לוחצים על יצירה.
שימו לב שתופנו לדף פרטי השירות, שבו תוכלו לעקוב אחרי ההתקדמות בהגדרת הפריסה הרציפה.
אחרי שמבצעים את כל השלבים, מופיעות אפשרויות נוספות:
- עריכת הלחצן 'פריסה רציפה'.
- יצירת היסטוריה.
- פרטי המקור בקטע פרטי הגרסה.
שירות קיים
נכנסים אל Knative serving במסוף Google Cloud :
מאתרים את השירות ברשימת השירותים ולוחצים עליו.
לוחצים על הגדרת פריסה רציפה.
בוחרים את הספק ואת המאגר.
- GitHub – אם עדיין לא עברתם אימות, לוחצים על אימות ופועלים לפי ההוראות. כברירת מחדל, הקישור למאגר מתבצע דרך אפליקציית Cloud Build GitHub. לחלופין, אפשר לשכפל את המאגר ב-GitHub ב-Cloud Source Repositories. כדי לעשות זאת, לוחצים על אפשרות מתקדמת ומסמנים את התיבה שיקוף מאגר GitHub באמצעות Cloud Source Repositories. מידע נוסף
- Bitbucket – אם עדיין לא עברתם אימות, לוחצים על Authenticate (אימות) ופועלים לפי ההוראות.
- Cloud Source Repositories
לוחצים על הבא.
ממלאים את האפשרויות בשלב 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. אם משאירים את השדה ריק, המערכת משתמשת בהתנהגות ברירת המחדל.
לוחצים על Save.
הדף נטען מחדש ומוצגת בו ההתקדמות של הגדרת הפריסה הרציפה.
אחרי שמבצעים את כל השלבים, מופיעות אפשרויות נוספות:
- עריכת הלחצן 'פריסה רציפה'.
- בניית היסטוריה.
- פרטי המקור בקטע פרטי הגרסה.
הגדרה ידנית של פריסה רציפה
אם אתם צריכים להשתמש בהליך ידני ולא בממשק המשתמש, תוכלו לעיין במאמר בנושא הגדרה ידנית של פריסה רציפה.
צירוף טריגר קיים של Cloud Build לשירות Knative Serving.
אם כבר יש לכם טריגר לפיתוח גרסת Build קיים של Cloud Build, אתם יכולים לחבר אותו לשירות וליהנות מהתכונות של מסוף Google Cloud בדף הפרטים של השירות: הלחצן פריסה רציפה (CD) והתרשים Build History.
כדי לעשות זאת, צריך להוסיף תווית עם gcb-trigger-id כמפתח ומזהה ייחודי של טריגר לפיתוח גרסת Build כערך (לא שם הטריגר). הוראות להגדרת התווית