ブランチ保護を構成する

このページでは、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. [ブランチルール ID] フィールドに、ブランチルールの名前を入力します。

    ブランチルール ID に使用できる文字は、英小文字、数字、ハイフンに限られます。最初の文字は文字、最後の文字は文字または数字にする必要があります。ブランチルール ID の最大文字数は 63 文字です。

  6. [ブランチフィルタ] フィールドに、ルールを適用するブランチの名前を入力します。ルールをすべてのブランチに適用する場合は、.* と入力します。完全な正規表現の一致は対象外です。

    有効なブランチルール フィルタは、リポジトリに対して一意である必要があります。ユーザーは、無効なブランチルール フィルタを複数持つことができます。たとえば、単一のリポジトリにブランチフィルタ main を持つ有効なブランチルールを 2 つ設定することはできません。

    ブランチに複数のルールが適用される場合、ブランチフィルタとして特定のブランチ名を持つブランチルールがワイルドカード ルールをオーバーライドします。 たとえば、ブランチフィルタ main を持つブランチルールは、ブランチフィルタ .* を持つブランチルールをオーバーライドします。ルールは結合されません。

  7. [ブランチ保護ルールの詳細] セクションで、次のオプションからブランチルールの要件を指定します。

    • マージ前に pull リクエストを必須にする: 有効にすると、ブランチへの直接 commit がブロックされます。保護されたブランチにマージする前に、pull リクエストを開く必要があります。

    • 必要なレビュー担当者の数: pull リクエストをマージするために承認が必要な レビュー担当者の数を指定します。

    • 必要な承認者の数: pull リクエストをマージするために承認が必要な 承認者の数を指定します。

      レビュー担当者と承認者は、特定の IAM ロールを持つユーザーです。レビュー担当者と承認者に必要なロールについては、 ブランチ保護の概要をご覧ください。

    • 古いレビューと承認でマージをブロックする: 有効にすると、レビューまたは承認が付与された後に新しい commit が pull リクエストに push された場合、レビューまたは承認が削除されます。

    • マージ前に会話の解決を必須にする: 有効にすると、 マージする前にすべてのコード コメントとリクエストの変更レビューを解決する必要があります。

    • 線形履歴を必須にする: 有効にすると、 非線形の Git 履歴を作成する pull リクエストをマージできません。

    • ステータス チェックを必須にする: 有効にすると、選択したビルド ステータス チェック が、pull リクエストをマージする前に成功する必要があります。ブランチ保護のステータス チェックとして選択するには、トリガー ファイルでトリガーを構成する必要があります。

  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. [更新] をクリックします。

ブランチ保護ルールが更新されます。

ブランチ保護ルールを削除する

ブランチ保護ルールを削除するには、次の操作を行います。

  1. Secure Source Manager ウェブ インターフェースで、ブランチルールを削除するリポジトリを選択します。
  2. リポジトリ ページで [設定] をクリックします。
  3. [ブランチルール] タブをクリックします。
  4. 削除するルールの行で、[削除] アイコン delete をクリックします。
  5. [ブランチルールを削除] 確認画面で [はい] をクリックします。

ブランチ保護ルールが削除されます。

次のステップ