Cloud Build 可讓您設定觸發條件,不會立即執行建構作業,而是將建構作業標示為待處理,直到獲得核准為止。如果具備權限的使用者核准待處理的建構作業,系統就會開始建構。如果遭到拒絕,建構作業就不會開始。
本頁說明如何手動核准或拒絕建構版本。如要瞭解如何設定需要核准的觸發條件,請參閱「建立自動建構觸發條件」。
事前準備
如果尚未啟用,請啟用 Cloud Build API。
啟用 API 時所需的角色
如要啟用 API,您必須具備
serviceusage.services.enable權限。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「服務使用情形管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。
安裝 Google Cloud CLI。
如果尚未建立自動建構觸發條件,請建立自動建構觸發條件,並設定為需要核准。
授予權限
如果使用者具備 Cloud Build 編輯者角色,就能更新觸發條件,要求或不要求核准。如要進一步瞭解 Cloud Build 權限,請參閱「IAM 和權限」。如要授予使用者在專案中核准建構作業的權限,使用者必須具備 Cloud Build 核准者角色。
如要新增 Cloud Build 核准者角色,請按照下列步驟操作:
在 Google Cloud 控制台中開啟「IAM」頁面。
按一下「授予存取權」。
系統會顯示「授予存取權」面板。
在「新增主體」部分新增使用者,授予他們權限,允許他們核准專案中待處理的建構作業。
您必須在這個部分新增一或多個主體。如果您將自己新增為負責人,請注意,如果觸發條件受到核准限制,您仍須手動核准待處理的建構作業。
在「指派角色」部分,依序選取「Cloud Build」 >「Cloud Build 審核者」。
您指定的使用者現在可以核准或拒絕待處理的建構作業。
核准建構作業
控制台
如要在 Google Cloud 控制台核准待處理的建構作業,請按照下列步驟操作:
在 Google Cloud 控制台中開啟「Cloud Build Dashboard」(Cloud Build 資訊主頁) 頁面。
如有待核准的版本,頁面頂端會顯示訊息,指出待核准的版本數量。按一下訊息右側的「查看版本」,即可查看等待您核准的版本清單。
勾選要核准的建構版本核取方塊。 您可以選取多個要核准的版本,或個別核准一個版本。
按一下頁面頂端的「核准」,核准所選版本。
建構作業開始前,系統會顯示「核准建構作業」對話方塊。 在對話方塊中,您可以視需要新增訊息和網址,建構作業取得核准時就會顯示。如要加入網址,請按一下「顯示其他選項」,然後輸入網址。
在對話方塊中,按一下「核准」核准版本。
核准後,系統會立即開始建構。如果組織政策 (constraints/cloudbuild.allowedIntegrations) 拒絕存取已連結的存放區,政策就會覆寫核准。詳情請參閱「Gate 建構在組織政策上」。
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 通知程式,透過 Cloud Build 維護的通知程式 (例如 Slack 或 SMTP 伺服器) 接收待處理建構作業的通知,也可以建立自己的通知程式。
如要設定通知,請按照下列步驟操作:
請按照下列其中一個頁面的操作說明,為所需服務設定通知:
使用上述任一頁面設定通知時,請務必設定通知程式,篩選出狀態為「PENDING」的建構作業。系統會傳送通知,告知您有待核准的版本。 在下列 SMTP 通知程式設定檔範例中,篩選條件欄位使用一般運算語言 (CEL) 篩選狀態為「待處理」的建構事件:
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
現在,您應該會收到服務待處理建構作業的通知。
後續步驟
- 瞭解如何建立及管理自動建構觸發條件。
- 瞭解如何查看自動建構觸發條件的建構結果