Cloud Build 可讓您設定觸發條件,不立即執行建構作業,而是將建構作業標示為待處理,直到獲得核准為止。如果具備權限的使用者核准待處理的建構作業,系統就會開始建構。如果遭到拒絕,系統就不會啟動建構作業。
本頁說明如何手動核准或拒絕建構作業。如要瞭解如何設定需要核准的觸發條件,請參閱「建立自動建構觸發條件」。
事前準備
-
Enable the Cloud Build API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.
安裝 Google Cloud CLI。
如果尚未建立,請建立建構觸發條件,並設定為需要核准。
授予權限
如果使用者具備 Cloud Build 編輯者角色,就能更新觸發條件,要求或不要求核准。如要進一步瞭解 Cloud Build 權限,請參閱「身分與存取權管理和權限」一文。如要授予使用者在專案中核准建構作業的權限,使用者必須具備 Cloud Build 核准者角色。
如要新增 Cloud Build 審核者角色,請按照下列步驟操作:
在 Google Cloud 控制台中,開啟「IAM」頁面。
按一下「授予存取權」。
系統會顯示「授予存取權」面板。
在「新增主體」部分新增使用者,授予他們在專案中核准待處理建構作業的權限。
您必須在這個部分新增一或多個主體。如果您將自己新增為校長,請注意,如果觸發條件受到核准程序限制,您仍須手動核准待處理的建構作業。
在「指派角色」部分,依序選取「Cloud Build」 >「Cloud Build Approver」(Cloud Build 核准者)。
您指定的使用者現在可以核准或拒絕待處理的建構作業。
核准建構作業
主控台
如要在 Google Cloud 控制台中核准待處理的建構作業,請按照下列步驟操作:
在 Google Cloud 控制台中開啟「Cloud Build Dashboard」(Cloud Build 資訊主頁) 頁面。
如有待核准的版本,頁面頂端會顯示訊息,指出待核准的版本數量。在訊息右側,按一下「查看版本」,即可查看等待您核准的版本清單。
勾選要核准的建構版本。 您可以選取多個建構版本來核准,也可以選取單一建構版本來核准。
按一下頁面頂端的「核准」,核准所選版本。
建構作業開始前,系統會顯示「核准建構」對話方塊。 在對話方塊中,您可以視需要新增訊息和網址,建構作業通過核准時就會顯示。如要加入網址,請按一下「顯示其他選項」並輸入網址。
在對話方塊中,按一下「核准」核准版本。
核准後,系統會立即開始建構。如果機構政策 (constraints/cloudbuild.allowedIntegrations
) 拒絕存取已連結的存放區,政策就會覆寫核准。詳情請參閱「根據機構政策控管建構作業」。
gcloud
如要使用 gcloud commands
核准待處理的建構,請在終端機視窗中執行下列指令:
gcloud builds approve BUILD_ID \
--project=PROJECT_ID \
--url=URL \
--comment=COMMENT
將上述指令中的預留位置值替換為下列值:
BUILD_ID
是您要核准的版本 ID。PROJECT_ID
是您的專案 ID。- [選用]
URL
是包含核准相關資訊的網址,例如 JIRA 票證的連結。 - [選用]
COMMENT
是您希望在建構作業獲得核准時顯示的訊息。
核准後,系統會立即開始建構。如果設定了機構政策,為允許的整合定義建構作業 (constraints/cloudbuild.allowedIntegrations
),該政策就會覆寫核准。詳情請參閱「對建構作業觸發條件套用機構政策」。
拒絕建構作業
主控台
如要在 Google Cloud 控制台中拒絕待處理的建構作業,請按照下列步驟操作:
在 Google Cloud 控制台中開啟「Cloud Build Dashboard」(Cloud Build 資訊主頁) 頁面。
如有待核准的版本,頁面頂端會顯示訊息,指出待核准的版本數量。在訊息右側,按一下「查看版本」,即可查看等待您核准的版本清單。
您可以選取多個要拒絕的建構版本,也可以選取單一建構版本。勾選要拒絕的建構版本核取方塊。
按一下頁面頂端的「拒絕」,拒絕建構作業。
如果拒絕建構作業,系統就不會啟動建構作業。
gcloud
如要使用 gcloud commands
拒絕待處理的建構版本,請在終端機視窗中執行下列指令:
gcloud builds reject BUILD_ID \
--project=PROJECT_ID \
--url=URL \
--comment=COMMENT
將上述指令中的預留位置值替換為下列值:
BUILD_ID
是要拒絕的版本 ID。PROJECT_ID
是您的專案 ID。- [選用]
URL
是包含拒絕相關資訊的網址,例如 JIRA 票證的連結。 - [選用]
COMMENT
是建構作業遭拒時要顯示的訊息。
如果拒絕建構作業,系統就不會啟動建構作業。
接收待核准版本的通知
您可以透過 Cloud Build 維護的通知程式 (例如 Slack 或 SMTP 伺服器),或建立自己的通知程式,接收有關待處理建構作業的通知。
如要設定通知,請按照下列步驟操作:
請按照下列其中一個頁面的操作說明,為所需服務設定通知:
使用上述任一頁面設定通知時,請務必設定通知程式,篩選出狀態為「PENDING」的建構作業。系統會傳送待核准版本的通知給你。 在下列 SMTP 通知程式設定檔範例中,篩選器欄位使用一般運算式語言 (CEL) 篩選狀態為「PENDING」的建構事件:
apiVersion: cloud-build-notifiers/v1 kind: SMTPNotifier metadata: name: example-smtp-notifier spec: notification: filter: build.status == Build.Status.PENDING delivery: server: example.gmail.com port: 0000 sender: sender@example.com ...
如要查看完整範例,請參閱 SMTP 通知程式的通知程式設定檔。
如要部署通知程式,請在終端機中執行
gcloud run
指令。 以下範例使用 Cloud Run 部署 SMTP 通知程式。gcloud run deploy example.gmail.com \ --image=us-east1-docker.pkg.dev/gcb-release/cloud-build-notifiers/smtp:latest \ --update-env-vars=CONFIG_PATH=smtp.yaml, PROJECT_ID=my-project
現在,您應該會收到服務待處理版本的通知。
後續步驟
- 瞭解如何建立及管理自動建構觸發條件。
- 瞭解如何查看自動建構觸發條件的建構結果