בדף הזה מוסבר איך להשתמש בהתראות שירות של Cloud Deploy, כולל איך להירשם לקבלת התראות.
Cloud Deploy משתמש ב-Pub/Sub כדי לפרסם התראות בשני מקרים:
כדי לאפשר לכם לשלב את Cloud Deploy עם כלים של צד שלישי ועם כלים אחרים של Google, כמו כלים לניהול כרטיסי עבודה או לתשתית בדיקות.
כדי להרחיב את Cloud Deploy עם לוגיקה עסקית משלימה.
נושאים זמינים
Cloud Deploy מפרסם הודעות בקבוצה הבאה של נושאי Google Pub/Sub:
clouddeploy-resourcesכשמתבצעת פעולה (יצירה, עדכון, מחיקה) על משאב ליבה של Cloud Deploy (אוטומציה, סוג יעד מותאם אישית, צינור העברה, הפעלת משימה, גרסה, השקה, יעד).
clouddeploy-operations- כש-Cloud Deploy מעבד את ההגדרה של Skaffold.
- כש-Cloud Deploy מבצע פריסה ליעד (
Start, Succeed,Failure, Terminated(הפעלת משימה), Cancelled(השקה)).
clouddeploy-approvals- כש-Cloud Deploy צריך אישור (או דחייה) של השקה.
- כשפריסה מאושרת או נדחית.
clouddeploy-advances- כשפריסת Cloud Deploy עברה משלב אחד לשלב הבא.
- כשההשקה מוכנה להתקדמות.
אתם יכולים להשתמש במודל push או pull למינויים שלכם ל-Pub/Sub.
קבלת התראות שירות מ-Cloud Deploy
כדי לקבל התראות שירות של Cloud Deploy:
מפעילים את Cloud Deploy API בפרויקט:
מפעילים את Pub/Sub API:
יוצרים את נושא ה-Pub/Sub או הנושאים, על סמך סוגי ההתראות שרוצים לקבל:
gcloud pubsub topics create clouddeploy-resources gcloud pubsub topics create clouddeploy-operations gcloud pubsub topics create clouddeploy-approvals gcloud pubsub topics create clouddeploy-advancesמידע נוסף על ניהול נושאים ב-Pub/Sub זמין במאמר יצירת נושא.
הרשמה להתראות שירות של Cloud Deploy
אפשר להגדיר התראות של שירות Cloud Deploy למינויים מסוג push ולמינויים מסוג pull. כדי ללמוד איך מגדירים מינויים ל-Pub/Sub עבור ההתראות האלה, ראו בחירת סוג מינוי. אפשר גם לקרוא על ספריות הלקוח של Pub/Sub, שמקלות על פיתוח אפליקציות של מנויים.
ערכי שדות
בקטע הזה מפורטים הערכים האפשריים של השדות בהודעות Pub/Sub של Cloud Deploy.
עבור Action
בהתראות האלה, הערכים האפשריים של Action הם:
למשאבים
CreateUpdateDelete
לפעולות:
StartSucceedFailureTerminatedCancelled
לאישורים:
RequiredApprovedRejected
למקדמות:
RequiredAdvanced
עבור ResourceType
הערכים האפשריים של ResourceType הם:
DeliveryPipelineTargetReleaseRolloutJobRun
הודעות לדוגמה
בדוגמאות הבאות אפשר לראות כמה סוגים של הודעות Pub/Sub מנושאים של Cloud Deploy.
יצירה של צינור עיבוד נתונים לפריסה
הדוגמה הבאה היא של הודעת Pub/Sub שפורסמה ב-clouddeploy-resources בתגובה ליצירה של deliveryPipeline חדש:
{
"ackId": "RFAGFixdRkhRNxkIaFEOT14jPzUgKEUQBQgUBXx9cEFMdVhddmhRDRlyfWByY11AAgVMVnldURsHaE5tdR_Wg6LHS0NVaF4TBgpGVX5fXx0IYVtedi_m7r_2wPXOXkAvOYXL6Mtpe735h9xvZiM9XxJLLD5-IzRFQV5AEkwoAURJUytDCypYEU4EISE-MD5FUw",
"message": {
"attributes": {
"Action": "Create",
"Resource": "projects/120123456789/locations/us-central1/deliveryPipelines/etest",
"ResourceType": "DeliveryPipeline",
"Location": "us-central1",
"DeliveryPipelineId": "etest",
"ProjectNumber": "120123456789",
},
"messageId": "2407836004659723",
"publishTime": "2021-05-17T21:24:48.204Z"
}
}
התחלת העיבוד
הדוגמה הבאה היא של הודעת Pub/Sub שפורסמה ב-clouddeploy-operations כדי להודיע על עיבוד של גרסה:
{
"ackId": "U0RQBhYsXUZIUTcZCGhRDk9eIz81IChFFwYIFAV8fXBBTHVeXHRoUQ0Zcn1gcmNfR1MLFlN5WFEaB2hObXUfioKix0tDVWheEwYKRVZ3W1kdBGFVXH0v_qD5rMP1zl5AKDnZyujLaXudkqxfZiM9XxJLLD5-PTNFQV5AEkw2BkRJUytDCypYEU4EISE-MD5F",
"message": {
"attributes": {
"Action": "Start",
"Resource": "projects/120123456789/locations/us-central1/deliveryPipelines/etest/releases/f2",
"ResourceType": "Release"
"Location": "us-central1",
"DeliveryPipelineId": "etest",
"ProjectNumber": "120123456789",
"ReleaseId": "f2",
},
"messageId": "2407805942699908",
"publishTime": "2021-05-17T21:28:04.201Z"
}
}
נדרש אישור
הדוגמה הבאה היא של הודעת Pub/Sub שפורסמה ב-clouddeploy-approvals כדי להודיע שנדרש אישור להשקה:
{
"ackId": "RVNEUAYWLF1GSFE3GQhoUQ5PXiM_NSAoRRILUxNRXHQBWhBpWF8aB1ENGXJ8ZnxtCRBVU0FWf1VbEQ16bVxti6C2rERfQXduWhQJBkBXd11aHQhoXF9dotnkpeTv2kFwYSuN8_7mSH_Mo6AYZiA9XBJLLD5-IzZFQV5AEkwoA0RJUytDCypYEU4EISE-MD4",
"message": {
"attributes": {
"Action": "Required",
"Rollout": "projects/120123456789/locations/us-central1/deliveryPipelines/etest/releases/f2/rollouts/rollout-123"
"ReleaseId": "f2",
"RolloutId": "rollout-123",
"TargetId": "prod",
"Location": "us-central1",
"ProjectNumber": "120123456789",
},
"messageId": "2407845492165003",
"publishTime": "2021-05-17T21:31:25.143Z"
}
}
הקדמת ההשקה
הנה דוגמה להודעה ב-Pub/Sub שמתפרסמת ב-clouddeploy-advances כדי להודיע על מעבר של השקה משלב אחד לשלב הבא:
{
"ackId": "RFAGFixdRkhRNxkIaFEOT14jPzUgKEUSAwVPAihdeTFXKkFZdWhRDRlyfWB9bV4UUFZMV38OURoHaE5tdR_z4ILjS0NVbVkQBApEUHldXhkEa1RcfC-a0fmv1OzMV0AvOaCoyO9pe77r3NluZiM9XhJLLD5-Jz1FQV5AEkwsCERJUytDCypYEU4EISE-MD5FUw",
"message": {
"attributes": {
"Action": "Advanced",
"Location": "us-central1",
"PhaseId": "stable",
"ProjectNumber": "120123456789",
"ReleaseId": "rollout-123",
"Rollout": "projects/120123456789/locations/us-central1/deliveryPipelines/etest/releases/f2/rollouts/rollout-123",
"RolloutId": "rollout-123",
"TargetId": "prod"
},
"messageId": "7335813725293809",
"publishTime": "2023-04-03T15:16:30.425Z"
}
}
בהודעה הזו, PhaseId מציין את השלב שאליו הועבר ההשקה.