在原始碼存放區中手動建構程式碼

本頁說明如何建立手動觸發條件,在來源存放區中建構程式碼。手動觸發程序可用於手動叫用建構作業,並在執行建構作業前,於叫用時覆寫定義的替代變數值。您也可以排定手動觸發時間,讓系統在特定時間自動執行。

如要瞭解如何使用 gcloud CLI 或 Cloud Build API 手動啟動建構作業,請參閱「手動啟動建構作業」。

事前準備

  • 啟用 Cloud Build API。

    啟用 API 時所需的角色

    如要啟用 API,您需要具備服務使用情形管理員 IAM 角色 (roles/serviceusage.serviceUsageAdmin),其中包含 serviceusage.services.enable 權限。瞭解如何授予角色

    啟用 API

  • 準備好原始碼。

手動觸發條件

手動觸發條件可讓您設定建構作業,只有在連結的存放區中叫用觸發條件時才會執行。舉例來說,您可以建立管道,將原始碼部署至準備或正式環境。您可能想自動執行工作流程,但只想手動執行建構作業。您可以定義手動觸發條件來執行這項操作。

手動觸發條件可讓您透過下列方式手動叫用建構作業:

  • 從指定分支版本或標記的代管存放區擷取原始碼。
  • 使用不需要在每次執行建構作業時手動傳入的替代項目,將建構作業參數化。
  • 在叫用建構作業之前,於叫用時覆寫已定義的替代變數值。

如要從本機工作目錄執行建構作業,而不是從代管存放區執行,或想提交建構作業,但不想建立觸發程序,可以在工作目錄中執行下列 gcloud 指令:

gcloud builds submit --config BUILD_CONFIG SOURCE_CODE

其中:

  • BUILD_CONFIG 是建構設定檔的路徑。
  • SOURCE_CODE 是路徑或網址原始碼。

如要進一步瞭解如何使用 gcloud 指令,在本地目錄中手動啟動建構作業,請參閱「手動啟動建構作業」。

建立手動觸發條件

控制台

如要建立手動觸發條件,請按照下列步驟操作:

  1. 開啟「觸發條件」頁面:

    開啟「觸發條件」頁面

  2. 在頁面頂端選取專案,然後按一下「開啟」

  3. 按一下「建立觸發條件」

  4. 輸入下列觸發條件設定:

    • 名稱︰觸發條件的名稱。
    • 「區域」:選取觸發條件的區域

      • 如果您選取「global」(全球) 做為區域,Cloud Build 會使用預設集區執行建構作業。
      • 如果您選取非全域區域,且與觸發條件相關聯的建構設定檔指定了私人集區,Cloud Build 會使用該私人集區執行建構作業。在這種情況下,您在觸發條件中指定的區域必須與您建立私人集區的區域相符。
      • 如果您選取非全域區域,且與觸發條件相關聯的建構設定檔指定私人集區,Cloud Build 會使用預設集區,在與觸發條件相同的區域執行建構作業。
    • 說明 (選填):觸發條件的說明。

    • 「Event」(事件):選取「Manual invocation」(手動叫用) 來設定觸發條件,這樣一來,只有在手動叫用觸發條件時,系統才會執行建構作業。

    • 來源:選取手動觸發時要建構的存放區。

    • 存放區代別:選取「第 2 代」

    • 「分支版本」或「標記」:設定下列其中一項:

      • 分支版本:設定觸發條件,在該分支版本上建構。您必須指定常值,系統不支援規則運算式。
      • 標記:設定觸發條件,根據這個標記建構。您必須指定常值,系統不支援規則運算式。
    • 設定:選取遠端存放區中的建構設定檔,或建立內嵌建構設定檔,以用於建構作業。

      • 類型:選取要用於建構作業的設定類型。
        • Cloud Build 設定檔 (yaml 或 json): 使用建構設定檔進行設定。
        • Dockerfile:使用 Dockerfile 進行設定。
      • 位置:指定設定的位置。

        • 存放區:如果設定檔位於遠端存放區,請提供版本設定檔Dockerfile 目錄或建構套件目錄的位置。如果版本設定類型為 Dockerfile 或建構套件,您需要提供產生的映像檔名稱,並視需要提供建構作業的逾時時間。提供 Dockerfile 或建構套件映像檔名稱後,您會看到版本將執行的 docker buildpack 指令預覽。
        • 內嵌:如果您選取「Cloud Build 設定檔 (yaml 或 json)」做為設定選項,可以內嵌指定建構設定。點選「開啟編輯器」,即可在 Google Cloud 控制台中使用 YAML 或 JSON 語法撰寫建構設定檔。點選「完成」即可儲存建構設定。
  5. 按一下「建立」即可建立手動觸發條件。

gcloud

如要建立手動觸發條件,請按照下列步驟操作:

  1. 開啟終端機視窗。
  2. 執行下列 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-dirdockerfile-image 指定 Dockerfile。
  • SERVICE_ACCOUNT 是與服務帳戶相關聯的電子郵件地址。如未加入這個標記,系統會使用預設服務帳戶

如需完整旗標清單,請參閱gcloud手動建立觸發條件的參考資料

執行手動觸發條件

控制台

如要使用 Google Cloud 控制台手動觸發,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中開啟「Triggers」(觸發條件) 頁面。

    開啟觸發條件頁面

  2. 在清單中找出所需觸發條件。

  3. 按一下「執行觸發條件」

    點選「執行觸發條件」後,右側會顯示「執行觸發條件」視窗窗格。如果您指定了分店名稱、標記名稱或替代變數等欄位,您可以在叫用時覆寫這些欄位。

    如果觸發程序使用的存放區有超過 500 個分支或標記,建議中可能會缺少部分項目。您還是可以手動輸入分支版本或標記名稱。

    如果您為替代項目指定了新的變數值,請按一下「執行觸發條件」來執行建構作業。

    如要依排程執行手動觸發條件,請參閱「排定建構作業」。

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 (選用) 是與替代變數相關聯的值。

如要依排程執行手動觸發條件,請參閱「排定建構作業」。

後續步驟