הרשמה לקבלת התראות על גרסאות build

כשמצב ה-build משתנה, למשל כשה-build נוצר, כשהוא עובר למצב עבודה וכשהוא מסתיים, Cloud Build מפרסם הודעות בנושא Google Pub/Sub. כל הודעה מכילה מחרוזת JSON בקידוד base64 שמייצגת את משאב ה-Build במאפיין message.data. המזהה הייחודי של ה-build והסטטוס שלו מופיעים בשדה message.attributes.

כברירת מחדל, ההודעות מתפרסמות בנושא cloud-builds. אפשר גם לציין שם נושא בהתאמה אישית בשדה options.pubsubTopic בקובץ תצורת ה-build. מידע נוסף על הגדרת שמות של נושאים בקובץ התצורה של ה-build זמין במאמר נושאי Pub/Sub להתראות build.

אפשר להשתמש במודל דחיפה או משיכה למינויים ב-Pub/Sub.

קבלת התראות על גרסאות build

כדי לקבל התראות על גרסאות build:

  1. מפעילים את Cloud Build API:

    הפעלת Cloud Build API

    ברוב המקרים, כשמפעילים את Cloud Build API, חשבון השירות Cloud Build Service Agent נוסף לפרויקט באופן אוטומטי. חשבון השירות מאפשר לכם לקבל התראות על גרסאות build מ-Pub/Sub.

    חשבון השירות הוא בפורמט הבא, כאשר project-number הוא מספר הפרויקט:

     service-project-number@gcp-sa-cloudbuild.
    

    אם חשבון השירות Cloud Build Service Agent לא מופיע בדף IAM, או אם אתם לא יכולים לקבל התראות מ-Pub/Sub, בצעו את השלבים הבאים כדי להוסיף את חשבון השירות Cloud Build Service Agent לפרויקט:

    1. פותחים את הדף IAM במסוף Google Cloud :

      פתיחת הדף IAM

    2. לוחצים על הענקת גישה.

    3. מוסיפים את חשבון המשתמש הבא, כאשר project-number הוא מספר הפרויקט:

      service-project-number@gcp-sa-cloudbuild.
      
    4. בוחרים את התפקיד Service Agents > Cloud Build Service Agent.

    5. לוחצים על Save.

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

    הפעלת Pub/Sub API

  3. יוצרים את הנושא cloud-builds:

    gcloud pubsub topics create cloud-builds
    

    אפשר גם להגדיר שם נושא בהתאמה אישית בקובץ תצורת ה-build, כדי שההודעות יישלחו לנושא בהתאמה אישית. במקרה כזה, אתם צריכים ליצור נושא עם אותו שם של נושא בהתאמה אישית:

    gcloud pubsub topics create topic-name
    

    למידע נוסף, קראו את המאמר נושאי Pub/Sub להתראות על גרסאות build.

    איך מנהלים נושאים ומינויים ב-Pub/Sub?

מינויי דחיפה

מינויי דחיפה מעבירים הודעות לנקודת קצה (endpoint) של HTTP שאתם מגדירים. ההודעות נשלחות ברגע שהן מתפרסמות בנושא.

הודעות שנשלחות ממינויי דחיפה נראות כך:

{
  "message": {
    "attributes": {
      "buildId": "abcd-efgh...",
      "status": "SUCCESS"
    },
    "data": "SGVsbG8gQ2xvdWQgUHViL1N1YiEgSGVyZSBpcyBteSBtZXNzYWdlIQ==",
    "messageId": "136969346945"
  },
  "subscription": "projects/myproject/subscriptions/mysubscription"
}

מינויי שליפה

מינויי משיכה מעבירים הודעות כשהאפליקציה המנויה מבצעת סקר. ההודעות נמסרות כשהמינוי נדגם.

הודעות שנשלחות ממינויי משיכה נראות כך:

{
  "receivedMessages": [
    {
      "ackId": "dQNNHlAbEGEIBERNK0EPKVgUWQYyODM2LwgRHFEZDDsLRk1SK...",
      "message": {
        "attributes": {
          "buildId": "abcd-efgh-...",
          "status": "SUCCESS"
        },
        "data": "SGVsbG8gQ2xvdWQgUHViL1N1YiEgSGVyZSBpcyBteSBtZXNzYWdlIQ==",
        "messageId": "19917247034"
      }
    }
  ]
}

הרשמה לקבלת התראות על עדכוני גרסאות

יש כמה אפשרויות להירשם לקבלת התראות על עדכונים לגבי גרסאות build. לדוגמה, אתם יכולים לשלוח הודעות ב-push לנקודת קצה או לכתוב אפליקציית Python לדגימת המינוי.

במדריך למנויים של Pub/Sub מוסבר איך להגדיר מינויים ב-Pub/Sub לעדכוני build. אפשר גם לקרוא על ספריות הלקוח של Pub/Sub, שמאפשרות לפתח בקלות אפליקציות למנויים.

במאמר שירותי התראות של Cloud Build מוסבר איך משתמשים ב-Pub/Sub כדי לשלוח עדכונים על גרסאות build לאימייל או לשירותים כמו Slack.