אתם יכולים להגדיר את Cloud Build כך שישלח לכם התראות על בנייה ל-Slack, ל-Google Chat, לשרת SMTP, לנקודת קצה (endpoint) ב-HTTP או למופע BigQuery באמצעות Cloud Build notifiers. בדף הזה מוסבר איך אפשר להפוך את תהליך ההגדרה של כלי ההתראה הרצוי לאוטומטי.
אוטומציה של הגדרת ההתראות
Cloud Build מספק סקריפט הגדרה שאפשר להשתמש בו כדי להגדיר התראות באופן אוטומטי. כדי להגדיר התראות באמצעות סקריפט ההגדרה:
Slack
מתבצעת ההגדרה של
בקטעים הבאים מתוארים השלבים שצריך להשלים לפני שאוטמים את הגדרת ההתראות של הכלי לשליחת התראות.
הפעלת ממשקי API
מפעילים את Cloud Build, Compute Engine, Cloud Run, Pub/Sub ו-Secret Manager APIs, אם אחד מהם עדיין לא מופעל.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים
קבלת פרטי כניסה ואחסון שלהם
יוצרים אפליקציית Slack לסביבת העבודה ב-Slack שאליה רוצים לשלוח התראות.
מפעילים webhooks נכנסים כדי לפרסם הודעות מ-Cloud Build ב-Slack.
עוברים לאפליקציית Slack כדי למצוא את כתובת ה-URL של ה-webhook הנכנס. כתובת ה-URL תיראה בערך כך:
http://hooks.slack.com/services/...מאחסנים את כתובת ה-URL של ה-webhook הנכנס ב-Secret Manager:
פותחים את הדף Secret Manager במסוף Google Cloud :
לוחצים על יצירת סוד.
מזינים שם לסוד.
בקטע Secret value (ערך סודי), מוסיפים את כתובת ה-URL של ה-webhook הנכנס לאפליקציית Slack.
כדי לשמור את הסוד, לוחצים על יצירת סוד.
כתיבת קובץ תצורה של כלי לשליחת התראות
כותבים קובץ הגדרות של התראות כדי להגדיר את ההתראות ב-Slack ולסנן אירועים של בנייה:
בדוגמה הבאה של קובץ הגדרות של כלי להודעות, השדה filter משתמש בCommon Expression Language עם המשתנה הזמין build כדי לסנן אירועי build עם סטטוס SUCCESS:
apiVersion: cloud-build-notifiers/v1
kind: SlackNotifier
metadata:
name: example-slack-notifier
spec:
notification:
filter: build.status == Build.Status.SUCCESS
delivery:
webhookUrl:
secretRef: webhook-url
template:
type: golang
uri: gs://example-gcs-bucket/slack.json
secrets:
- name: webhook-url
value: projects/project-id/secrets/secret-name/versions/latest
כאשר:
-
webhook-urlהוא משתנה ההגדרה שמשמש בדוגמה הזו להפניה לנתיב של webhook URL ב-Slack שמאוחסן ב-Secret Manager. שם המשתנה שאתם מציינים כאן צריך להיות זהה לשם שמופיע בשדהnameבקטעsecrets. -
project-idהוא מזהה Google Cloud הפרויקט. -
secret-nameהוא השם של הסוד שמכיל את כתובת ה-webhook שלכם ב-Slack. - השדה
uriמפנה לקובץslack.json. הקובץ הזה מכיל תבנית JSON שמתארחת ב-Cloud Storage ומייצגת את הודעת ההתראה שלכם במרחב Slack.
כדי לראות את הדוגמה, אפשר לעיין בקובץ ההגדרות של כלי ההתראות של כלי ההתראות של Slack.
הרצת סקריפט של פעולה אוטומטית
כדי להגדיר אוטומטית את ההתראות של הכלי לשליחת התראות:
משכפלים את מאגר cloud-build-notifiers.
מגדירים את Google Cloud CLI עם מזהה הפרויקט והאזור:
gcloud config set project project-id gcloud config set run/region regionכאשר:
-
project-idהוא Google Cloud מזהה הפרויקט. -
regionהוא האזור שבו רוצים לפרוס את כלי ההתראות.
-
מריצים את הפקודה הבאה בספריית הבסיס של המאגר:
./setup.sh slack config-path -t template-path -s secret-name
כאשר:
-
config-pathהוא הנתיב לקובץ התצורה של ההתראות. -
template-pathהוא הנתיב לקובץ התבנית של ההתראות. קובץ התבנית של ההתראות מכיל את תבנית ה-JSON שמתארחת ב-Cloud Storage ומייצג את הודעת ההתראה. אפשר לכלול את קובץ התבנית של ההתראות כנתיב באמצעות המשתנה הזה או בשדהuriבקובץ ההגדרות של ההתראות.
secret-nameהוא השם של הסוד שמאוחסן ב-Secret Manager.
אחרי שמריצים את הסקריפט, מוצגת ההודעה הבאה:
** NOTIFIER SETUP COMPLETE **
ההתראה הוגדרה. אפשר לראות את הסקריפט המלא במאגר cloud-build-notifiers או להריץ את הפקודה ./setup.sh --help כדי לקבל הוראות שימוש שקשורות לסקריפט.
SMTP
מתבצעת ההגדרה של
בקטעים הבאים מתוארים השלבים שצריך להשלים לפני שאוטמים את הגדרת ההתראות של הכלי לשליחת התראות.
הפעלת ממשקי API
מפעילים את Cloud Build, Compute Engine, Cloud Run, Pub/Sub ו-Secret Manager APIs, אם אחד מהם עדיין לא מופעל.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים
אחסון פרטי כניסה
מאחסנים את הסיסמה של חשבון האימייל של השולח ב-Secret Manager:
פותחים את הדף Secret Manager במסוף Google Cloud :
לוחצים על יצירת סוד.
מזינים שם לסוד.
בקטע ערך סודי, מוסיפים את הסיסמה של חשבון האימייל של השולח.
כדי לשמור את הסוד, לוחצים על יצירת סוד.
כתיבת קובץ תצורה של כלי לשליחת התראות
כותבים קובץ הגדרות של התראות כדי להגדיר את ההתראות ב-SMTP ולסנן אירועים של בנייה:
בדוגמה הבאה של קובץ הגדרות של כלי להודעות, השדה filter משתמש בCommon Expression Language עם המשתנה הזמין build כדי לסנן אירועי build עם סטטוס SUCCESS:
apiVersion: cloud-build-notifiers/v1
kind: SMTPNotifier
metadata:
name: example-smtp-notifier
spec:
notification:
filter: build.status == Build.Status.SUCCESS
delivery:
server: server-host-name
port: "port"
sender: sender-email
from: from-email
recipients:
- recipient-email
# optional: more emails here
password:
secretRef: smtp-password
template:
type: golang
uri: gs:example-gcs-bucket/smtp.html
secrets:
- name: smtp-password
value: projects/project-id/secrets/secret-name/versions/latest
כאשר:
-
server-host-nameהיא הכתובת של שרת ה-SMTP. -
portהיא היציאה שתטפל בבקשות SMTP. הערך הזה צריך להיות מחרוזת. -
sender-emailהיא כתובת האימייל של חשבון השולח שמוצגת ל-server-host-name שצוין. -
from-emailהיא כתובת האימייל שהנמענים רואים. -
recipient-emailהיא רשימה של כתובת אימייל אחת או יותר לקבלת הודעות מהשולח. -
smtp-passwordהוא משתנה ההגדרה שמשמש בדוגמה הזו כדי להפנות לסיסמה של חשבון האימייל של השולח שמאוחסנת ב-Secret Manager. שם המשתנה שאתם מציינים כאן צריך להיות זהה לערך של השדהnameבקטעsecrets. -
project-idהוא מזהה Google Cloud הפרויקט. -
secret-nameהוא שם הסוד שמכיל את הסיסמה לחשבון האימייל של השולח. - השדה
uriמפנה לקובץsmtp.html. הקובץ הזה מתייחס לתבנית HTML שמתארחת ב-Cloud Storage ומייצג את הודעת האימייל של ההתראה.
כדי לראות את הדוגמה, אפשר לעיין בקובץ ההגדרות של כלי ההתראות עבור כלי ההתראות של SMTP.
הרצת סקריפט של פעולה אוטומטית
כדי להגדיר אוטומטית את ההתראות של הכלי לשליחת התראות:
משכפלים את מאגר cloud-build-notifiers.
מגדירים את Google Cloud CLI עם מזהה הפרויקט והאזור:
gcloud config set project project-id gcloud config set run/region regionכאשר:
-
project-idהוא Google Cloud מזהה הפרויקט. -
regionהוא האזור שבו רוצים לפרוס את כלי ההתראות.
-
מריצים את הפקודה הבאה בספריית הבסיס של המאגר:
./setup.sh smtp config-path -t template-path -s secret-name
כאשר:
-
config-pathהוא הנתיב לקובץ התצורה של ההתראות. -
template-pathהוא הנתיב לקובץ התבנית של ההתראות. קובץ התבנית של ההתראות מכיל את תבנית ה-JSON שמתארחת ב-Cloud Storage ומייצג את הודעת ההתראה. אפשר לכלול את קובץ התבנית של ההתראות כנתיב באמצעות המשתנה הזה או בשדהuriבקובץ ההגדרות של ההתראות.
secret-nameהוא השם של הסוד שמאוחסן ב-Secret Manager.
אחרי שמריצים את הסקריפט, מוצגת ההודעה הבאה:
** NOTIFIER SETUP COMPLETE **
ההתראה הוגדרה. אפשר לראות את הסקריפט המלא במאגר cloud-build-notifiers או להריץ את הפקודה ./setup.sh --help כדי לקבל הוראות שימוש שקשורות לסקריפט.
BigQuery
מתבצעת ההגדרה של
בקטעים הבאים מתוארים השלבים שצריך להשלים לפני שאוטמים את הגדרת ההתראות של הכלי לשליחת התראות.
הפעלת ממשקי API
מפעילים את ממשקי ה-API של Cloud Build, Cloud Run, Pub/Sub ו-BigQuery, אם הם לא מופעלים.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים
מתן הרשאות
נותנים לחשבון השירות של Cloud Run הרשאה ליצור ולכתוב טבלאות ב-BigQuery והרשאה לאחזר נתונים מ-Artifact Registry שקשורים ל-Build:
נכנסים לדף IAM במסוף Google Cloud :
מאתרים את חשבון השירות של Compute Engine שמוגדר כברירת מחדל שמשויך לפרויקט:
חשבון השירות שמוגדר כברירת מחדל ב-Compute Engine ייראה בערך כך, כאשר project-number הוא מספר הפרויקט שלכם:
project-number-compute@developer.gserviceaccount.comלוחצים על סמל העיפרון בשורה שמכילה את חשבון השירות שמוגדר כברירת מחדל ב-Compute Engine.
תוצג הכרטיסייה גישת עריכה.
לוחצים על הוספת תפקיד נוסף.
מוסיפים את התפקידים הבאים:
- Artifact Registry Reader
עריכה של נתוני BigQuery
התפקיד Artifact Registry Reader מאפשר לכם לאחזר נתונים לתמונות. העורך של נתוני BigQuery מאפשר לכם לקרוא את הנתונים ולכתוב אותם.
לוחצים על Save.
כתיבת קובץ תצורה של כלי לשליחת התראות
כותבים קובץ תצורה של כלי ההתראה כדי להגדיר את כלי ההתראה של BigQuery ולסנן אירועים של בנייה:
בדוגמה הבאה של קובץ התצורה של כלי ההתראה, השדה filter משתמש בCommon Expression Language עם המשתנה build כדי לסנן אירועי build עם מזהה טריגר ספציפי:
apiVersion: cloud-build-notifiers/v1
kind: BigQueryNotifier
metadata:
name: example-bigquery-notifier
spec:
notification:
filter: build.build_trigger_id == "123e4567-e89b-12d3-a456-426614174000"
delivery:
table: projects/project-id/datasets/dataset-name/tables/table-name
template:
type: golang
uri: gs://example-gcs-bucket/bq.json
כאשר:
-
project-idהוא מזהה Google Cloud הפרויקט. -
dataset-nameהוא השם שרוצים לתת למערך הנתונים. -
table-nameהוא השם שרוצים לתת לטבלה.
הערך table-name בקובץ ההגדרות של כלי ההתראה יכול להתייחס ל:
- טבלה שלא קיימת
- טבלה ריקה ללא סכימה
טבלה קיימת עם סכימה שתואמת למפרטי הסכימה בכלי להודעות ב-BigQuery
השדה
uriמפנה לקובץbq.json. הקובץ הזה מפנה לתבנית JSON שמתארחת ב-Cloud Storage ומייצג את המידע שצריך להוסיף לטבלה ב-BigQuery.
כדי לראות את הדוגמה, אפשר לעיין בקובץ ההגדרות של כלי ההתראה של BigQuery.
הרצת סקריפט של פעולה אוטומטית
כדי להגדיר אוטומטית את ההתראות של הכלי לשליחת התראות:
משכפלים את מאגר cloud-build-notifiers.
מגדירים את Google Cloud CLI עם מזהה הפרויקט והאזור:
gcloud config set project project-id gcloud config set run/region regionכאשר:
-
project-idהוא Google Cloud מזהה הפרויקט. -
regionהוא האזור שבו רוצים לפרוס את כלי ההתראות.
-
מריצים את הפקודה הבאה בספריית הבסיס של המאגר:
./setup.sh bigquery -t config-path -t template-pathכאשר:
-
config-pathהוא הנתיב לקובץ התצורה של ההתראות. -
template-pathהוא הנתיב לקובץ התבנית של ההתראות. קובץ התבנית של ההתראות מכיל את תבנית ה-JSON שמתארחת ב-Cloud Storage ומייצג את הודעת ההתראה. אפשר לכלול את קובץ התבנית של ההתראות כנתיב באמצעות המשתנה הזה או בשדהuriבקובץ ההגדרות של ההתראות.
אחרי שמריצים את הסקריפט, מוצגת ההודעה הבאה:
** NOTIFIER SETUP COMPLETE **ההתראה הוגדרה. אפשר לראות את הסקריפט המלא במאגר cloud-build-notifiers או להריץ את הפקודה
./setup.sh --helpכדי לקבל הוראות שימוש שקשורות לסקריפט.-
HTTP
מתבצעת ההגדרה של
בקטעים הבאים מתוארים השלבים שצריך להשלים לפני שאוטמים את הגדרת ההתראות של הכלי לשליחת התראות.
הפעלת ממשקי API
מפעילים את Cloud Build, Cloud Run ו-Pub/Sub APIs, אם הם עדיין לא מופעלים.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים
כתיבת קובץ תצורה של כלי לשליחת התראות
כותבים קובץ הגדרות של כלי לשליחת התראות כדי להגדיר את הכלי לשליחת התראות ב-HTTP ולסנן אירועים של בנייה:
בדוגמה הבאה של קובץ הגדרות של כלי להודעות, השדה filter משתמש בCommon Expression Language עם המשתנה הזמין build כדי לסנן אירועי build עם סטטוס SUCCESS:
apiVersion: cloud-build-notifiers/v1
kind: HTTPNotifier
metadata:
name: example-http-notifier
spec:
notification:
filter: build.status == Build.Status.SUCCESS
delivery:
# The `http(s)://` protocol prefix is required.
url: url
template:
type: golang
uri: gs://example-gcs-bucket/http.json
כאשר:
-
urlהוא משתנה ההגדרה שמשמש בדוגמה הזו כדי לציין את כתובת ה-URL של הבקשה. - url היא כתובת ה-URL שרוצים לציין כשרת הנמען.
- השדה
uriמפנה לקובץhttp.json. הקובץ הזה מתייחס לתבנית JSON שמתארחת ב-Cloud Storage ומייצג את מטען ה-JSON לנקודת הקצה של ה-webhook.
כדי לראות את הדוגמה, אפשר לעיין בקובץ ההגדרות של כלי ההתראה עבור כלי ההתראה של HTTP.
הרצת סקריפט של פעולה אוטומטית
כדי להגדיר אוטומטית את ההתראות של הכלי לשליחת התראות:
משכפלים את מאגר cloud-build-notifiers.
מגדירים את Google Cloud CLI עם מזהה הפרויקט והאזור:
gcloud config set project project-id gcloud config set run/region regionכאשר:
-
project-idהוא Google Cloud מזהה הפרויקט. -
regionהוא האזור שבו רוצים לפרוס את כלי ההתראות.
-
מריצים את הפקודה הבאה בספריית הבסיס של המאגר:
./setup.sh http -t config-pathכאשר:
-
config-pathהוא הנתיב לקובץ התצורה של ההתראות.
-
אחרי שמריצים את הסקריפט, מוצגת ההודעה הבאה:
** NOTIFIER SETUP COMPLETE **
ההתראה הוגדרה. אפשר לראות את הסקריפט המלא במאגר cloud-build-notifiers או להריץ את הפקודה ./setup.sh --help כדי לקבל הוראות שימוש שקשורות לסקריפט.
Google Chat
מתבצעת ההגדרה של
בקטעים הבאים מתוארים השלבים שצריך להשלים לפני שאוטמים את הגדרת ההתראות של הכלי לשליחת התראות.
הפעלת ממשקי API
מפעילים את Cloud Build, Compute Engine, Cloud Run, Pub/Sub ו-Secret Manager APIs, אם אחד מהם עדיין לא מופעל.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים
קבלת פרטי כניסה ואחסון שלהם
יוצרים מרחב ב-Google Chat.
במרחב שנוצר, יוצרים webhook נכנס כדי לפרסם הודעות מ-Cloud Build ב-Google Chat. כתובת ה-URL תיראה בערך כך:
https://chat.googleapis.com/v1/spaces/...
מאחסנים את כתובת ה-URL של ה-webhook הנכנס ב-Secret Manager:
פותחים את הדף Secret Manager במסוף Google Cloud :
לוחצים על יצירת סוד.
מזינים שם לסוד.
בקטע ערך סודי, מוסיפים את ה-webhook URL הנכנס של המרחב ב-Google Chat.
כדי לשמור את הסוד, לוחצים על יצירת סוד.
כתיבת קובץ תצורה של כלי לשליחת התראות
כותבים קובץ תצורה של כלי להודעות כדי להגדיר את הכלי להודעות של Google Chat ולסנן אירועים של בנייה:
בדוגמה הבאה של קובץ הגדרות של כלי להודעות, השדה filter משתמש בCommon Expression Language עם המשתנה הזמין build כדי לסנן אירועי build עם סטטוס SUCCESS:
apiVersion: cloud-build-notifiers/v1
kind: GoogleChatNotifier
metadata:
name: example-googlechat-notifier
spec:
notification:
filter: build.status == Build.Status.SUCCESS
delivery:
webhookUrl:
secretRef: webhook-url
secrets:
- name: webhook-url
value: projects/project-id/secrets/secret-name/versions/latest
כאשר:
-
webhook-urlהוא משתנה ההגדרה שמשמש בדוגמה הזו כדי להפנות לנתיב של כתובת ה-URL של ה-webhook ב-Google Chat שמאוחסן ב-Secret Manager. שם המשתנה שאתם מציינים כאן צריך להיות זהה לשם שמופיע בשדהnameבקטעsecrets. -
project-idהוא מזהה Google Cloud הפרויקט. -
secret-nameהוא השם של הסוד שמכיל את כתובת ה-Webhook של Google Chat.
כדי לראות את הדוגמה, אפשר לעיין בקובץ ההגדרות של כלי ההתראה ל-Google Chat.
הרצת סקריפט של פעולה אוטומטית
כדי להגדיר אוטומטית את ההתראות של הכלי לשליחת התראות:
משכפלים את מאגר cloud-build-notifiers.
מגדירים את Google Cloud CLI עם מזהה הפרויקט והאזור:
gcloud config set project project-id gcloud config set run/region regionכאשר:
-
project-idהוא Google Cloud מזהה הפרויקט. -
regionהוא האזור שבו רוצים לפרוס את כלי ההתראות.
-
מריצים את הפקודה הבאה בספריית הבסיס של המאגר:
./setup.sh googlechat config-path -s secret-name
כאשר:
-
config-pathהוא הנתיב לקובץ התצורה של ההתראות. -
secret-nameהוא השם של הסוד שמאוחסן ב-Secret Manager.
אחרי שמריצים את הסקריפט, מוצגת ההודעה הבאה:
** NOTIFIER SETUP COMPLETE **
ההתראה הוגדרה. אפשר לראות את הסקריפט המלא במאגר cloud-build-notifiers או להריץ את הפקודה ./setup.sh --help כדי לקבל הוראות שימוש שקשורות לסקריפט.
GitHub Issues
מתבצעת ההגדרה של
בקטעים הבאים מתוארים השלבים שצריך להשלים לפני שאוטמים את הגדרת ההתראות של הכלי לשליחת התראות.
הפעלת ממשקי API
מפעילים את Cloud Build, Compute Engine, Cloud Run, Pub/Sub ו-Secret Manager APIs, אם אחד מהם עדיין לא מופעל.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים
קבלת פרטי כניסה ואחסון שלהם
יוצרים אסימון גישה אישי ב-GitHub:
- כדי ליצור טוקן חדש, עוברים אל ההגדרות של GitHub.
בוחרים את ההיקף
repo.לוחצים על יצירת טוקן.
מאחסנים את האסימון ב-Secret Manager:
פותחים את הדף Secret Manager במסוף Google Cloud :
לוחצים על יצירת סוד.
מזינים שם לסוד.
בקטע Secret value (ערך סודי), מוסיפים את האסימון של GitHub.
כדי לשמור את הסוד, לוחצים על יצירת סוד.
כתיבת קובץ תצורת תבנית
כותבים קובץ הגדרות של תבנית כדי לתאר את הפורמט של בעיות GitHub שנוצרות:
בקובץ התצורה של התבנית לדוגמה שבהמשך, השדות title ו-body משתמשים במשתני החלפה מה-build:
{
"title": "Build {{.Build.BuildTriggerId}}: {{.Build.Status}}",
"body": "[{{.Build.ProjectId}}] {{.Build.BuildTriggerId}} status: **{{.Build.Status}}**\n\n[View Logs]({{.Build.LogUrl}})"
}
כדי לראות את הדוגמה, אפשר לעיין בקובץ ההגדרות של התבנית של כלי ההתראות על בעיות ב-GitHub.
אפשר להגדיר שדות נוספים מפרמטרים זמינים של גוף הבקשה מנקודת קצה ל-API של GitHub ליצירת בעיה.
כתיבת קובץ תצורה של כלי לשליחת התראות
כותבים קובץ תצורה של התראות כדי להגדיר את ההתראות ב-Google Chat ולסנן אירועים של בנייה:
בדוגמה הבאה של קובץ הגדרות של כלי להודעות, השדה filter משתמש בCommon Expression Language עם המשתנה הזמין build כדי לסנן אירועי build עם סטטוס SUCCESS:
apiVersion: cloud-build-notifiers/v1
kind: GitHubIssuesNotifier
metadata:
name: example-githubissues-notifier
spec:
notification:
filter: build.status == Build.Status.FAILURE
template:
type: golang
uri: gs://project-id-notifiers-config/template-file-name
delivery:
githubToken:
secretRef: github-token
githubRepo: myuser/myrepo
secrets:
- name: github-token
value: projects/project-id/secrets/secret-name/versions/latest
כאשר:
-
githubTokenהוא משתנה ההגדרה שמשמש בדוגמה הזו כדי להפנות לאסימון GitHub שמאוחסן ב-Secret Manager. שם המשתנה שאתם מציינים כאן צריך להיות זהה לשם שמופיע בשדהnameבקטעsecrets. -
project-id-notifiers-configהוא המיקום שבו התבנית תועלה, והקטגוריה תיווצר אם היא עדיין לא קיימת. -
template-file-nameהוא השם של קובץ התבנית. -
myuser/myrepoהוא שם המאגר שיווצרו בו הבעיות. -
project-idהוא מזהה Google Cloud הפרויקט. -
secret-nameהוא השם של הסוד שמכיל את הטוקן של GitHub.
כדי לראות את הדוגמה, אפשר לעיין בקובץ ההגדרות של כלי ההתראה ל-Google Chat.
במאמר על משאב ה-Build מפורטים שדות נוספים שאפשר לסנן לפיהם. דוגמאות נוספות לסינון זמינות במאמר שימוש ב-CEL לסינון אירועי בנייה.
הרצת סקריפט של פעולה אוטומטית
כדי להגדיר אוטומטית את ההתראות של הכלי לשליחת התראות:
משכפלים את מאגר cloud-build-notifiers.
מגדירים את Google Cloud CLI עם מזהה הפרויקט והאזור:
gcloud config set project project-id gcloud config set run/region regionכאשר:
-
project-idהוא Google Cloud מזהה הפרויקט. -
regionהוא האזור שבו רוצים לפרוס את כלי ההתראות.
-
מריצים את הפקודה הבאה בספריית הבסיס של המאגר:
./setup.sh githubissues config-path -t template-path -s secret-name
כאשר:
-
config-pathהוא הנתיב לקובץ התצורה של ההתראות. -
template-pathהוא הנתיב לקובץ התבנית של ההתראות. קובץ התבנית של ההתראות מכיל את תבנית ה-JSON שמתארחת ב-Cloud Storage ומייצג את הודעת ההתראה. אפשר לכלול את קובץ התבנית של ההתראות כנתיב באמצעות המשתנה הזה או בשדהuriבקובץ ההגדרות של ההתראות.
secret-nameהוא השם של הסוד שמאוחסן ב-Secret Manager.
אחרי שמריצים את הסקריפט, מוצגת ההודעה הבאה:
** NOTIFIER SETUP COMPLETE **
ההתראה הוגדרה. אפשר לראות את הסקריפט המלא במאגר cloud-build-notifiers או להריץ את הפקודה ./setup.sh --help כדי לקבל הוראות שימוש שקשורות לסקריפט.
המאמרים הבאים
- מידע נוסף על כלי ההתראה של Cloud Build
- איך נרשמים לקבלת התראות על בנייה
- איך כותבים קובץ הגדרת build של Cloud Build