本頁說明如何建立手動觸發條件,在來源存放區中建構程式碼。手動觸發程序可用於手動叫用建構作業,並在執行建構作業前,於叫用時覆寫定義的替代變數值。您也可以排定手動觸發時間,讓系統在特定時間自動執行。
如要瞭解如何使用 gcloud CLI 或 Cloud Build API 手動啟動建構作業,請參閱「手動啟動建構作業」。
事前準備
啟用 Cloud Build API。
啟用 API 時所需的角色
如要啟用 API,您需要具備服務使用情形管理員 IAM 角色 (
roles/serviceusage.serviceUsageAdmin),其中包含serviceusage.services.enable權限。瞭解如何授予角色。
- 準備好原始碼。
手動觸發條件
手動觸發條件可讓您設定建構作業,只有在連結的存放區中叫用觸發條件時才會執行。舉例來說,您可以建立管道,將原始碼部署至準備或正式環境。您可能想自動執行工作流程,但只想手動執行建構作業。您可以定義手動觸發條件來執行這項操作。
手動觸發條件可讓您透過下列方式手動叫用建構作業:
- 從指定分支版本或標記的代管存放區擷取原始碼。
- 使用不需要在每次執行建構作業時手動傳入的替代項目,將建構作業參數化。
- 在叫用建構作業之前,於叫用時覆寫已定義的替代變數值。
如要從本機工作目錄執行建構作業,而不是從代管存放區執行,或想提交建構作業,但不想建立觸發程序,可以在工作目錄中執行下列 gcloud 指令:
gcloud builds submit --config BUILD_CONFIG SOURCE_CODE
其中:
- BUILD_CONFIG 是建構設定檔的路徑。
- SOURCE_CODE 是路徑或網址原始碼。
如要進一步瞭解如何使用 gcloud 指令,在本地目錄中手動啟動建構作業,請參閱「手動啟動建構作業」。
建立手動觸發條件
控制台
如要建立手動觸發條件,請按照下列步驟操作:
開啟「觸發條件」頁面:
在頁面頂端選取專案,然後按一下「開啟」。
按一下「建立觸發條件」。
輸入下列觸發條件設定:
- 名稱︰觸發條件的名稱。
「區域」:選取觸發條件的區域。
- 如果您選取「global」(全球) 做為區域,Cloud Build 會使用預設集區執行建構作業。
- 如果您選取非全域區域,且與觸發條件相關聯的建構設定檔指定了私人集區,Cloud Build 會使用該私人集區執行建構作業。在這種情況下,您在觸發條件中指定的區域必須與您建立私人集區的區域相符。
- 如果您選取非全域區域,且與觸發條件相關聯的建構設定檔未指定私人集區,Cloud Build 會使用預設集區,在與觸發條件相同的區域執行建構作業。
說明 (選填):觸發條件的說明。
「Event」(事件):選取「Manual invocation」(手動叫用) 來設定觸發條件,這樣一來,只有在手動叫用觸發條件時,系統才會執行建構作業。
來源:選取手動觸發時要建構的存放區。
存放區代別:選取「第 2 代」。
「分支版本」或「標記」:設定下列其中一項:
- 分支版本:設定觸發條件,在該分支版本上建構。您必須指定常值,系統不支援規則運算式。
- 標記:設定觸發條件,根據這個標記建構。您必須指定常值,系統不支援規則運算式。
設定:選取遠端存放區中的建構設定檔,或建立內嵌建構設定檔,以用於建構作業。
- 類型:選取要用於建構作業的設定類型。
- Cloud Build 設定檔 (yaml 或 json): 使用建構設定檔進行設定。
- Dockerfile:使用
Dockerfile進行設定。
位置:指定設定的位置。
- 存放區:如果設定檔位於遠端存放區,請提供版本設定檔、
Dockerfile目錄或建構套件目錄的位置。如果版本設定類型為Dockerfile或建構套件,您需要提供產生的映像檔名稱,並視需要提供建構作業的逾時時間。提供Dockerfile或建構套件映像檔名稱後,您會看到版本將執行的docker build或pack指令預覽。 - 內嵌:如果您選取「Cloud Build 設定檔 (yaml 或 json)」做為設定選項,可以內嵌指定建構設定。點選「開啟編輯器」,即可在 Google Cloud 控制台中使用 YAML 或 JSON 語法撰寫建構設定檔。點選「完成」即可儲存建構設定。
- 存放區:如果設定檔位於遠端存放區,請提供版本設定檔、
- 類型:選取要用於建構作業的設定類型。
按一下「建立」即可建立手動觸發條件。
gcloud
如要建立手動觸發條件,請按照下列步驟操作:
- 開啟終端機視窗。
執行下列
gcloud指令,在專案中建立自動建構觸發條件:gcloud builds triggers create manual \ --region=REGION \ --name=TRIGGER_NAME \ --repository=projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/repositories/REPO_NAME \ --branch=BRANCH_NAME \ --build-config=BUILD_CONFIG_FILE \ --service-account=SERVICE_ACCOUNT
其中:
REGION是觸發條件的區域。TRIGGER_NAME是觸發條件的名稱。PROJECT_ID是您的 Google Cloud 專案 ID。CONNECTION_NAME是主機連線的名稱。REPO_NAME是存放區的名稱。BRANCH_NAME是分支名稱。您也可以使用--tag指定標記,或使用--sha指定提交 ID。BUILD_CONFIG_FILE是建構設定檔的路徑。您也可以使用--inline-config指定內嵌建構設定檔,或使用--dockerfile、--dockerfile-dir和dockerfile-image指定 Dockerfile。SERVICE_ACCOUNT是與服務帳戶相關聯的電子郵件地址。如未加入這個標記,系統會使用預設服務帳戶。
如需完整旗標清單,請參閱gcloud手動建立觸發條件的參考資料。
執行手動觸發條件
控制台
如要使用 Google Cloud 控制台手動觸發,請按照下列步驟操作:
gcloud
如要使用 gcloud 指令列工具手動觸發,請執行下列指令:
gcloud builds triggers run TRIGGER_NAME \
--region=REGION \
--branch=BRANCH_NAME \
--substitutions=SUBSTITUTION_VAR=SUBSTITUTION_VALUE
其中:
TRIGGER_NAME是觸發條件的名稱。REGION是觸發條件的區域。BRANCH_NAME是分支名稱。您也可以使用--tag指定標記,或使用--sha指定提交 ID。SUBSTITUTION_VAR(選用) 是替代值的變數名稱。SUBSTITUTION_VALUE(選用) 是與替代變數相關聯的值。
如要依排程執行手動觸發條件,請參閱「排定建構作業」。