שימוש בהתראות של Cloud Deploy

בדף הזה מוסבר איך להשתמש בהתראות שירות של 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:

  1. מפעילים את Cloud Deploy API בפרויקט:

    הפעלת Cloud Deploy API

  2. מפעילים את Pub/Sub API:

    הפעלת Pub/Sub API

  3. יוצרים את נושא ה-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 הם:

  • למשאבים

    • Create
    • Update
    • Delete
  • לפעולות:

    • Start
    • Succeed
    • Failure
    • Terminated
    • Cancelled
  • לאישורים:

    • Required
    • Approved
    • Rejected
  • למקדמות:

    • Required
    • Advanced

עבור ResourceType

הערכים האפשריים של ResourceType הם:

  • DeliveryPipeline
  • Target
  • Release
  • Rollout
  • JobRun

הודעות לדוגמה

בדוגמאות הבאות אפשר לראות כמה סוגים של הודעות 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 מציין את השלב שאליו הועבר ההשקה.

המאמרים הבאים