Cloud Build 通知器是可在 Cloud Run 上做為容器執行的 Docker 映像檔。當 Cloud Build 通知器收到訂閱應用程式的輪詢時,會使用推送訂閱功能,將訊息傳送至已設定的服務,例如 Slack 或 SMTP 伺服器。
本頁面提供 Cloud Build 通知器的總覽。
Cloud Build 通知程式
Cloud Build 會將所有建構事件更新內容,以及建構中繼資料,傳送至 cloud-builds
主題或使用者定義的主題至 Pub/Sub。您可以設定 Cloud Build 通知器,讓系統監聽該主題、篩選收到的訊息,並透過 Cloud Run 將訊息傳送至您的服務。
所有通知器都會使用通用的 YAML 設定規格,並儲存在 Cloud Storage 中。如果所選服務需要驗證,則其憑證會儲存在 Secret Manager 中。Cloud Run 會將訊息轉送,並將通知傳送至您的服務。
下圖顯示 Cloud Build 如何與其他 Google Cloud 產品 (例如 Pub/Sub 和 Cloud Run) 互動,以傳送通知:
要接收建構作業通知的 Pub/Sub 主題
根據預設,Cloud Build 會將版本通知傳送至名為 cloud-builds
的 Pub/Sub 主題 (如果有)。您也可以建立自訂 Pub/Sub 主題,以便接收建構作業通知。在建構設定檔中,options.pubsubTopic
欄位會定義 Cloud Build 傳送通知的專題名稱:
如果
options.pubsubTopic
留空,Cloud Build 會使用預設值cloud-builds
做為該檔案建構項目的主題名稱。因此,如果您建立cloud-builds
主題,並在所有建構設定檔中保留未定義的options.pubsubTopic
,則該主題會接收所有建構通知。如果您在
options.pubsubTopic
中指定自訂主題名稱,Cloud Build 就會將該建構設定檔的通知傳送至該主題。如果您不想將所有建構作業通知發布至同一個主題,自訂主題名稱就很實用。在建構設定檔中使用自訂主題名稱時,您必須將
roles/pubsub.publisher
角色指派給預設 Cloud Build 服務帳戶以外的任何服務帳戶。
將建構通知發布至各專案的 Pub/Sub 主題
如要將建構通知發布至執行建構作業的不同專案中的 Pub/Sub 主題,請將 roles/pubsub.publisher
角色提供給目標專案中的服務帳戶。
舉例來說,您有專案 A 和專案 B。您使用服務帳戶 A 在專案 A 中執行建構作業,並且想要將建構通知發布至專案 B 中的 Pub/Sub 主題。如要這樣做,您可以執行下列指令,為服務帳戶 A 授予專案 B 中的 roles/pubsub.publisher
角色:
gcloud projects add-iam-policy-binding ProjectB --member 'serviceAccount:ServiceAccountA' --role 'roles/pubsub.publisher'
接著,您可以使用下列建構設定,在專案 A 中執行建構作業,並將建構通知發布至專案 B:
steps:
- name: ubuntu
args:
- pwd
serviceAccount: projects/ProjectA/serviceAccounts/ServiceAccountA
options:
pubsubTopic: projects/ProjectB/topics/CustomTopic
logging: desired-logging-option
Cloud Build 提供的支援通知程式
Cloud Build 會在 cloud-build-notifiers
存放區中提供及維護可部署的通知器映像檔。下表列出可用的通知器:
Notifier | 說明 |
---|---|
bigquery |
將建構資料寫入 BigQuery 資料表 |
githubissues |
使用 GitHub Webhook 針對 GitHub 存放區建立問題 |
googlechat |
使用 Google Chat webhook 將訊息張貼至 Google Chat 聊天室 |
http |
將 JSON 酬載傳送至其他 HTTP 端點 |
slack |
使用 Slack Webhook 將訊息張貼至 Slack 頻道 |
smtp |
透過 SMTP 伺服器傳送電子郵件 |
如要進一步瞭解如何設定各個通知器,請參閱各項服務的對應頁面:
自動化通知設定
Cloud Build 提供設定指令碼,可用於自動設定Cloud Build 支援的通知器的通知。
如要瞭解如何為 Cloud Build 支援的通知程式設定通知,請參閱「自動化處理通知設定」。
建立自己的通知程式
除了 Cloud Build 維護的通知器 (例如 Slack 或 SMTP) 之外,您也可以使用 cloud-build-notifiers
存放區中提供的程式庫,自行建立通知器。
如要瞭解如何建立自己的通知程式,請參閱「建立您的通知程式」。
後續步驟
- 瞭解如何設定 BigQuery、GitHub Issue、Google Chat、HTTP、Slack 或 SMTP 通知器。
- 瞭解如何自動設定通知。
- 瞭解如何建立自己的通知程式。