建立觸發條件檔案

本頁說明如何在 Secure Source Manager 中建立觸發條件 YAML 檔案。您可以使用觸發條件檔案,根據 Secure Source Manager 存放區中的推送和提取要求事件,自動執行建構作業。

如要瞭解可加入觸發條件檔案的欄位,請參閱「觸發條件檔案結構定義」。

事前準備

  1. 建立 Secure Source Manager 執行個體
  2. 建立 Secure Source Manager 存放區
  3. 請參閱觸發條件檔案結構定義,瞭解可包含在觸發條件檔案中的欄位。

必要的角色

如要取得建立觸發條件檔案所需的權限,請要求管理員授予下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

建立 Cloud Build 設定檔

Secure Source Manager 觸發程序檔案需要為每個觸發程序指定建構設定檔。

建構設定檔中包含讓 Cloud Build 根據規格執行工作的操作說明。例如,您的建構設定檔可以包含建構、封裝和推送 Docker 映像檔的操作說明。

在要建構的分支中建立建構設定檔。如要建立建構設定檔,請按照「建立建構設定檔」一文中的操作說明進行。

建立觸發條件檔案

觸發條件設定檔必須在存放區的預設分支中建立。

如要建立觸發條件設定檔,請按照下列步驟操作:

  1. 在本機存放區或 Secure Source Manager 網頁介面中,切換至預設分支版本
  2. 建立名為 .cloudbuild/triggers.yaml 的檔案。

  3. .cloudbuild/triggers.yaml 檔案中設定觸發條件:

    triggers:
    - name: TRIGGER_NAME
      project: PROJECT_ID
      configFilePath: CLOUD_BUILD_CONFIG_PATH
      eventType: EVENT_TYPE
      ignoredGitRefs: IGNORED_GIT_REFS
      includedGitRefs: INCLUDED_GIT_REFS
      serviceAccount: SERVICE_ACCOUNT
      includedFiles: INCLUDED_FILES
      ignoredFiles: IGNORED_FILES
      disabled: DISABLED_BOOL
      substitutions:
        _VARIABLE_NAME: VARIABLE_VALUE
        OVERRIDE_VARIABLE_NAME: OVERRIDE_VARIABLE_VALUE
    

    更改下列內容:

    • TRIGGER_NAME,並為觸發條件命名。觸發條件名稱只能包含英數字元和破折號,且開頭或結尾不得為破折號。觸發條件名稱長度不得超過 64 個字元。
    • PROJECT_ID 替換為啟用 Cloud Build 的專案 ID。 Google Cloud 這是選填欄位。預設為 Secure Source Manager 專案。
    • CLOUD_BUILD_CONFIG_PATH,並提供要用於此觸發程序的 Cloud Build 設定檔路徑。這是選填欄位。預設值為 .cloudbuild/cloudbuild.yaml
    • EVENT_TYPE,並選取要觸發建構作業的事件類型。選項如下:

      • push,在推送至指定分支版本時觸發
      • pull_request,在提取要求傳送至指定分支時觸發

      這是選填欄位。預設值為 push

    • INCLUDED_GIT_REFS,並可選擇性使用符合 Git 參照RE2 規則運算式格式,觸發建構作業。預設值為空白。如果值為空白,表示沒有限制。

    • IGNORED_GIT_REFS,並使用 RE2 規則運算式格式 (選用) 搭配規則運算式,比對您不想觸發建構作業的 Git 參照。預設值為空白。如果值為空白,表示沒有限制。系統會先檢查 ignoredGitRefs 欄位,再檢查 includedGitRefs 欄位。如要進一步瞭解這些欄位,請參閱觸發條件檔案結構定義

    • SERVICE_ACCOUNT,並以 projects/PROJECT_ID/serviceAccounts/ACCOUNT 格式提供要用於建構作業的 Cloud Build 服務帳戶。將 ACCOUNT 替換為服務帳戶的電子郵件地址或專屬 ID。最佳做法是設定使用者指定的服務帳戶。由於舊版 Cloud Build 服務帳戶有限制,因此無法使用。

    • INCLUDED_FILES,並視需要使用 RE2 格式的規則運算式,比對要觸發建構的檔案。

      如果變更的檔案不符合 ignoredFiles 篩選器欄位,但符合 includedFiles 篩選器欄位,系統就會觸發建構。預設值為空白。如果值為空白,表示沒有限制。

    • IGNORED_FILES,並視需要使用 RE2 格式的規則運算式,比對您不想觸發建構的檔案。

      如果修訂中的所有變更檔案都符合這個篩選器欄位,系統就不會觸發建構。預設值為空白。如果值為空白,表示沒有任何限制。

    • DISABLED_BOOL,然後按一下 true 停用觸發條件,或按一下 false 啟用觸發條件。這是選填欄位。預設值為 false

    • VARIABLE_NAME,並在觸發條件檔案中導入變數。

    • VARIABLE_VALUE,並將變數值設為該值。

    • OVERRIDE_VARIABLE_NAME,這是 Secure Source Manager 的預設替代變數名稱。如要瞭解可用的預設替代變數,請參閱「觸發條件檔案結構定義」的替代部分。

    • OVERRIDE_VARIABLE_VALUE,並將預設替代變數的預設值覆寫為您要的值。

  4. 將觸發條件設定檔提交至預設分支版本。

    觸發條件檔案提交後,Secure Source Manager 會根據觸發條件檔案中的設定觸發建構作業。

    Secure Source Manager 會讀取下列類型事件的設定檔和相關聯的修訂版本 SHA 或 Git 參照:

    • 如果是 push 事件,Secure Source Manager 會在推送完成時讀取提交 SHA 或 Git 參照。
    • 如果是 pull_request 事件,Secure Source Manager 會在提取提取要求變更時,讀取提交 SHA 或 Git 參照。

查看建構狀態

如果建構作業是由推送或提取要求事件觸發,Secure Source Manager 網頁介面會顯示提交和建構狀態。

建構狀態可能的值如下:

  • 成功SUCCESS:建構作業已順利完成。
  • 警告警告:嘗試建構時發生問題。
  • 失敗失敗:建構作業在執行期間失敗。

如果設定分支保護規則,要求觸發程序檔案中設定的觸發程序通過狀態檢查,即可防止建構失敗的提交內容合併至重要分支。如要進一步瞭解分支保護功能,請參閱「分支保護總覽」。

如要查看推送事件的建構狀態,請按照下列步驟操作:

  1. 在 Secure Source Manager 網頁介面中,前往存放區。

    如果最新的推送事件觸發了建構作業,狀態會顯示在修訂版本 SHA 旁邊。如要查看該狀態的詳細資料,請按一下狀態。

  2. 如要查看先前修訂版本的建構狀態,請選取「修訂版本」,查看修訂版本記錄,然後按一下要查看詳細資料的狀態。

如要查看提取要求事件的建構狀態,請按照下列步驟操作:

  1. 在 Secure Source Manager 網頁介面中,按一下「提取要求」
  2. 按一下要查看的提取要求。

    如果建構作業是由提取要求觸發,您會看到名為「所有檢查都成功」或「部分檢查回報警告」的部分。

後續步驟