באמצעות Cloud Build אפשר להגדיר טריגרים שלא מפעילים מיד את ה-build, אלא מסמנים אותו כהמתנה לאישור. אם משתמש עם הרשאות מאשר בנייה בהמתנה, הבנייה תתחיל. אם האישור יידחה, ה-build לא יתחיל.
בדף הזה מוסבר איך לאשר או לדחות באופן ידני גרסאות build. במאמר יצירת טריגר לפיתוח גרסת Build מוסבר איך להגדיר טריגר שדורש אישור.
לפני שמתחילים
מפעילים את Cloud Build API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק 'שימוש בשירות'' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים
מתקינים את Google Cloud CLI.
אם עדיין לא עשיתם זאת, צריך ליצור טריגר לפיתוח גרסת Build שמוגדר לדרוש אישור.
מתן הרשאות
אם למשתמש יש את התפקיד 'עורך ב-Cloud Build', יש לו הרשאות לעדכן טריגר כדי לדרוש או לא לדרוש אישור. מידע נוסף על הרשאות Cloud Build זמין במאמר IAM והרשאות. כדי להעניק למשתמש הרשאה לאשר בנייה בפרויקט, המשתמש צריך לקבל את התפקיד Cloud Build Approver.
כדי להוסיף את התפקיד Cloud Build Approver:
פותחים את הדף IAM במסוף Google Cloud .
לוחצים על הענקת גישה.
תופיע החלונית הענקת גישה.
בקטע Add principals, מוסיפים משתמשים כדי לתת להם הרשאה לאשר בנייה בהמתנה בפרויקט.
חובה להוסיף חשבון משתמש אחד או יותר בקטע הזה. אם תוסיפו את עצמכם כבעלי עניין, חשוב לדעת שעדיין תצטרכו לאשר ידנית בנייה בהמתנה אם הטריגר שלכם מוגבל באישור.
בקטע Assign roles, בוחרים באפשרות Cloud Build > Cloud Build Approver.
למשתמשים שציינתם יש עכשיו גישה לאישור או לדחייה של גרסאות build בהמתנה.
אישור גרסאות Build
המסוף
כדי לאשר גרסת build בהמתנה במסוף Google Cloud :
פותחים את הדף Cloud Build Dashboard במסוף Google Cloud .
אם יש לכם גרסאות build לאישור, תופיע הודעה בחלק העליון של הדף עם מספר הגרסאות שממתינות לאישור. משמאל להודעה, לוחצים על הצגת גרסאות Build כדי לראות את רשימת גרסאות ה-Build שממתינות לאישור.
לוחצים על תיבות הסימון של הגרסאות שרוצים לאשר. אפשר לבחור כמה גרסאות build לאישור או גרסת build אחת לאישור.
בחלק העליון של הדף, לוחצים על אישור כדי לאשר את הגרסאות שבחרתם.
לפני שהגרסה תתחיל להיבנות, תוצג תיבת הדו-שיח אישור בניית הגרסה. בתיבת הדו-שיח, אפשר להוסיף הודעה אופציונלית וכתובת URL שיוצגו לצד האישור של הגרסה. כדי לכלול כתובת URL, לוחצים על הצגת אפשרויות נוספות ומזינים כתובת URL.
בתיבת הדו-שיח, לוחצים על אישור כדי לאשר את הגרסה.
אחרי שתאשרו, הבנייה תתחיל מיד. אם המדיניות של הארגון (constraints/cloudbuild.allowedIntegrations) שוללת את הגישה למאגר המחובר, המדיניות תבטל את האישור. מידע נוסף מופיע במאמר בנושא Gate builds on organization policy.
gcloud
כדי לאשר בנייה בהמתנה באמצעות gcloud commands, מריצים את הפקודה הבאה בחלון המסוף:
gcloud builds approve BUILD_ID \
--project=PROJECT_ID \
--url=URL \
--comment=COMMENT
מחליפים את ערכי ה-placeholder בפקודות שלמעלה בערכים הבאים:
-
BUILD_IDהוא המזהה של הגרסה שרוצים לאשר. -
PROJECT_IDהוא מזהה הפרויקט. - [Optional]
URLהוא ה-URL שמכיל מידע על האישור, כמו קישור לכרטיס JIRA. - [אופציונלי]
COMMENTהיא ההודעה שרוצים להציג אחרי אישור ה-build.
אחרי שתאשרו, הבנייה תתחיל מיד. אם מדיניות הארגון להגדרת גרסאות build לשילובים מותרים (constraints/cloudbuild.allowedIntegrations) מוגדרת, המדיניות תבטל את האישור. מידע נוסף זמין במאמר בנושא החלת מדיניות ארגונית על טריגרים של build.
דחיית בילדים
המסוף
כדי לדחות גרסת build בהמתנה במסוף Google Cloud :
פותחים את הדף Cloud Build Dashboard במסוף Google Cloud .
אם יש לכם גרסאות build לאישור, תופיע הודעה בחלק העליון של הדף עם מספר הגרסאות שממתינות לאישור. משמאל להודעה, לוחצים על הצגת גרסאות Build כדי לראות את רשימת גרסאות ה-Build שממתינות לאישור.
אפשר לבחור כמה גרסאות build לדחייה או גרסת build אחת לדחייה. לוחצים על תיבות הסימון של הגרסאות שרוצים לדחות.
כדי לדחות את הגרסה, לוחצים על דחייה בחלק העליון של הדף.
אם תדחו את הבנייה, היא לא תתחיל.
gcloud
כדי לדחות בנייה בהמתנה באמצעות gcloud commands, מריצים את הפקודה הבאה בחלון המסוף:
gcloud builds reject BUILD_ID \
--project=PROJECT_ID \
--url=URL \
--comment=COMMENT
מחליפים את ערכי ה-placeholder בפקודות שלמעלה בערכים הבאים:
-
BUILD_IDהוא המזהה של הגרסה שרוצים לדחות. -
PROJECT_IDהוא מזהה הפרויקט. - [אופציונלי]
URLהוא ה-URL שמכיל מידע על הדחייה, כמו קישור לכרטיס JIRA. - [אופציונלי]
COMMENTהיא ההודעה שרוצים להציג כשדוחים את ה-build.
אם תדחו את הבנייה, היא לא תתחיל אף פעם.
קבלת התראות על גרסאות build שממתינות לאישור
אתם יכולים להשתמש ב-Cloud Build notifiers כדי לקבל התראות על בנייה בהמתנה באמצעות notifier שמתוחזק על ידי Cloud Build, כמו שרת Slack או SMTP, או על ידי יצירת notifier משלכם.
כדי להגדיר התראות:
כדי להגדיר התראות לשירות הרצוי, פועלים לפי ההוראות באחד מהדפים הבאים:
כשמגדירים התראות באמצעות אחד מהדפים שלמעלה, צריך להגדיר את כלי ההתראה כך שיסנן את הבנייה עם סטטוס PENDING. תקבלו התראות על גרסאות build שממתינות לאישור. בקובץ ההגדרות הבא של כלי ההתראה ב-SMTP, השדה filter משתמש ב-Common Expression Language (CEL) כדי לסנן אירועי build עם סטטוס PENDING:
apiVersion: cloud-build-notifiers/v1 kind: SMTPNotifier metadata: name: example-smtp-notifier spec: notification: filter: build.status == Build.Status.PENDING delivery: server: example.gmail.com port: 0000 sender: sender@example.com ...כדי לראות את הדוגמה המלאה, אפשר לעיין בקובץ ההגדרות של כלי ההתראה עבור כלי ההתראה של SMTP.
כדי לפרוס את כלי ההתראות, מריצים את הפקודה
gcloud runבמסוף. בדוגמה הבאה מוסבר איך לפרוס את כלי ההתראה של SMTP באמצעות Cloud Run.gcloud run deploy example.gmail.com \ --image=us-east1-docker.pkg.dev/gcb-release/cloud-build-notifiers/smtp:latest \ --update-env-vars=CONFIG_PATH=smtp.yaml, PROJECT_ID=my-project
מעכשיו תקבלו התראות על גרסאות build בהמתנה בשירות שלכם.