設定分支保護規則

本頁面說明如何為 Secure Source Manager 存放區設定分支保護。

透過分支保護功能,存放區管理員可以設定規則,控管哪些使用者能變更分支、哪些使用者需要核准或審查變更,以及核准的變更必須符合哪些條件,才能合併至分支。

如要進一步瞭解分支保護規則,請參閱分支保護總覽

事前準備

  1. 建立 Secure Source Manager 執行個體
  2. 建立 Secure Source Manager 存放區

必要的角色

如要取得為 Secure Source Manager 存放區設定分支保護規則所需的權限,請要求系統管理員授予您下列 IAM 角色:

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

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

如要瞭解如何授予 Secure Source Manager 角色,請參閱「使用 IAM 控管存取權」和「授予使用者執行個體存取權」。

建立分支保護規則

控制台

如要建立新的分支保護規則,請按照下列步驟操作:

  1. 在 Secure Source Manager 網頁介面中,選取要透過分支保護規則保護的存放區。
  2. 在存放區頁面中,按一下「設定」
  3. 按一下「分支規則」分頁標籤。
  4. 按一下「新增分支規則」
  5. 在「Branch rule ID」(分支規則 ID) 欄位中,輸入分支規則的名稱。

    分支規則 ID 只能使用小寫英文字母、數字和連字號。第一個字元必須是英文字母,最後一個字元必須是英文字母或數字。分支規則 ID 最多可有 63 個字元。

  6. 在「分店篩選器」欄位中,輸入要套用規則的分店名稱。如要將規則套用至所有分店,請輸入 .*。系統不支援完整規則運算式比對。

    已啟用的分支規則篩選器不得與存放區重複。使用者可以有多個已停用的分支規則篩選器。舉例來說,您無法在單一存放區中,使用分支篩選器 main 啟用兩項分支規則。

    如果分支適用多項規則,系統會優先採用以特定分支名稱做為分支篩選條件的分支規則,而非萬用字元規則。舉例來說,如果分支規則的分支篩選條件為 main,就會覆寫分支篩選條件為 .* 的分支規則。系統不會合併規則。

  7. 在「Branch protection rule details」(分支版本保護規則詳細資料) 區段中,從下列選項指定分支版本規則的需求:

    • 合併前必須先提出提取要求:啟用這項設定後,系統會封鎖直接提交至分支版本的內容。必須先開啟提取要求,才能合併至受保護的分支。

    • 必要審查者人數:指定合併提取要求時,必須核准的審查者人數。

    • 必要核准者人數:指定合併提取要求時,必須核准的人數。

      審查者和核准者是具有特定 IAM 角色的使用者。如要瞭解審查者和核准者需要哪些角色,請參閱「分支保護總覽」。

    • 禁止合併過時的審查和核准:如果啟用這項設定,在審查或核准後,如果將新的提交內容推送至提取要求,系統就會移除審查或核准。

    • 必須先解決對話問題才能合併:啟用這項設定後,必須先解決所有程式碼註解和要求變更審查,才能合併。

    • 需要線性記錄:啟用後,如果提交要求會建立非線性 Git 記錄,就無法合併。

    • 需要狀態檢查:啟用後,所選建構狀態檢查必須成功,才能合併提取要求。您必須先在觸發條件檔案中設定觸發條件,才能選取這些條件做為分支保護的狀態檢查。

  8. 如要儲存分支規則,請按一下「提交」

系統會顯示「分支規則」分頁,並列出新的分支規則。

Terraform

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。詳情請參閱 Terraform 供應商參考文件

如要使用 Terraform 建立新的分支保護規則,請使用 google_secure_source_manager_branch_rule 資源。

下列範例設定會為 main 分支建立分支保護規則。

使用範例前,請先替換下列項目:

  • BRANCH_RULE_ID:分支保護規則的 ID。
  • PROJECT_ID:專案 ID。
  • LOCATION:存放區的位置。
  • REPOSITORY_ID:存放區 ID。
  • BRANCH_NAME_PATTERN:分支名稱或規則運算式模式,例如 main
resource "google_secure_source_manager_branch_rule" "default" {
  branch_rule_id = "BRANCH_RULE_ID"
  project = "PROJECT_ID"
  location = "LOCATION"
  repository_id = "REPOSITORY_ID"
  include_pattern = "BRANCH_NAME_PATTERN"
  minimum_approvals_count   = 2
  minimum_reviews_count     = 2
  require_comments_resolved = true
  require_linear_history    = true
  require_pull_request      = true
  disabled = false
  allow_stale_reviews = false
}

修改分支保護規則

如要修改分支保護規則,請按照下列步驟操作:

  1. 在 Secure Source Manager 網頁介面中,選取要修改分支保護規則的存放區。
  2. 在存放區頁面中,按一下「設定」
  3. 按一下「分支規則」分頁標籤。
  4. 按一下要修改的分支規則名稱。
  5. 編輯分支保護規則。
  6. 按一下「Update」

已更新分支保護規則。

刪除分支保護規則

如要刪除分支保護規則,請按照下列步驟操作:

  1. 在 Secure Source Manager 網頁介面中,選取要移除分支規則的存放區。
  2. 在存放區頁面中,按一下「設定」
  3. 按一下「分支規則」分頁標籤。
  4. 在要刪除的規則所在資料列中,按一下「刪除」刪除 圖示。
  5. 在「移除分支規則」確認畫面中,按一下「是」

已刪除分支保護規則。

後續步驟