このページでは、Secure Source Manager リポジトリのブランチ保護を構成する方法について説明します。
ブランチ保護を使用すると、リポジトリ管理者は、ブランチに変更を加えることができるユーザー、変更を承認またはレビューする必要があるユーザー、承認された変更をブランチにマージする前に満たす必要のある条件を制御するルールを設定できます。
ブランチ保護ルールの詳細については、ブランチ保護の概要をご覧ください。
始める前に
必要なロール
Secure Source Manager リポジトリのブランチ保護ルールを構成するために必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
Secure Source Manager インスタンスに対する Secure Source Manager インスタンス アクセサー (
roles/securesourcemanager.instanceAccessor
) -
Secure Source Manager リポジトリに対する Secure Source Manager リポジトリ管理者 (
roles/securesourcemanager.repoAdmin
) -
Secure Source Manager インスタンス内の任意のリポジトリの保護されたブランチで pull リクエストを承認するには:
-
インスタンスの Google Cloud プロジェクトに対する Secure Source Manager リポジトリ pull リクエスト承認者 (
roles/securesourcemanager.repoPullRequestApprover
) -
インスタンスの Google Cloud プロジェクトに対する Secure Source Manager リポジトリ ライター (
roles/securesourcemanager.repoWriter
)
-
インスタンスの Google Cloud プロジェクトに対する Secure Source Manager リポジトリ pull リクエスト承認者 (
-
単一のリポジトリ内の保護されたブランチで pull リクエストを承認するには:
-
リポジトリに対する Secure Source Manager リポジトリ pull リクエスト承認者 (
roles/securesourcemanager.repoPullRequestApprover
) -
リポジトリに対する Secure Source Manager リポジトリ書き込み (
roles/securesourcemanager.repoWriter
)
-
リポジトリに対する Secure Source Manager リポジトリ pull リクエスト承認者 (
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
Secure Source Manager のロールの付与については、IAM によるアクセス制御とユーザーにインスタンスへのアクセス権を付与するをご覧ください。
ブランチ保護ルールを作成する
新しいブランチ保護ルールを作成する手順は次のとおりです。
- Secure Source Manager ウェブ インターフェースで、ブランチ保護ルールで保護するリポジトリを選択します。
- リポジトリ ページで [設定] をクリックします。
- [分岐ルール] タブをクリックします。
- [ブランチルールを追加] をクリックします。
[分岐ルール ID] フィールドに、分岐ルールの名前を入力します。
ブランチルールの ID に使用できる文字は、英小文字、数字、ハイフンに限られます。最初の文字は英字に、最後の文字は英字または数字にする必要があります。ブランチルールの ID は最大 63 文字です。
[ブランチ フィルタ] フィールドに、ルールを適用するブランチの名前を入力します。すべてのブランチにルールを適用する場合は、
.*
と入力します。完全な正規表現の一致はサポートされていません。有効なブランチルールのフィルタは、リポジトリごとに一意である必要があります。ユーザーは複数の無効なブランチルールのフィルタを持つことができます。たとえば、ブランチ フィルタ
main
を持つ 2 つの有効なブランチルールを 1 つのリポジトリに設定することはできません。ブランチに複数のルールが適用される場合、ブランチ フィルタとして特定のブランチ名を持つブランチルールは、ワイルドカード ルールをオーバーライドします。たとえば、ブランチ フィルタ
main
を含むブランチルールは、ブランチ フィルタ.*
を含むブランチルールをオーバーライドします。ルールは結合されません。[Branch protection rule details] セクションで、次のオプションからブランチルールの要件を指定します。
マージ前に pull リクエストを必須にする: 有効にすると、ブランチへの直接コミットがブロックされます。保護されたブランチにマージする前に、pull リクエストを開く必要があります。
必要なレビュー担当者の数: プルリクエストをマージするために必要な承認を行うレビュー担当者の数を指定します。
必要な承認者の数: pull リクエストをマージするために必要な承認者の数を指定します。
審査者と承認者は、特定の IAM ロールを持つユーザーです。レビュー担当者と承認者に必要なロールについては、ブランチ保護の概要をご覧ください。
古いレビューと承認でマージをブロックする: 有効にすると、レビューまたは承認が付与された後に新しい commit が pull リクエストに push された場合、レビューまたは承認が削除されます。
マージ前に会話の解決を必須にする: 有効にすると、マージ前にすべてのコード コメントとリクエスト変更のレビューを解決する必要があります。
リニア履歴を必須にする: 有効にすると、リニアでない Git 履歴を作成する pull リクエストをマージできなくなります。
ステータス チェックを必須にする: 有効にすると、pull リクエストをマージする前に、選択したビルド ステータス チェックが成功する必要があります。ブランチ保護のステータス チェックとしてトリガーを選択するには、事前にトリガー ファイルでトリガーを構成する必要があります。
ブランチルールを保存するには、[送信] をクリックします。
[Branch rules] タブが表示され、新しいブランチルールが一覧表示されます。
ブランチ保護ルールを変更する
ブランチ保護ルールを変更するには、次の操作を行います。
- Secure Source Manager ウェブ インターフェースで、変更するブランチ保護ルールを含むリポジトリを選択します。
- リポジトリ ページで [設定] をクリックします。
- [ブランチルール] タブをクリックします。
- 変更するブランチルールの名前をクリックします。
- ブランチ保護ルールを編集します。
- [更新] をクリックします。
ブランチ保護ルールが更新されます。
ブランチ保護ルールを削除する
ブランチ保護ルールを削除するには、次の操作を行います。
- Secure Source Manager ウェブ インターフェースで、ブランチルールを削除するリポジトリを選択します。
- リポジトリ ページで [設定] をクリックします。
- [分岐ルール] タブをクリックします。
- 削除するルールの行で、[削除] アイコン
をクリックします。
- [ブランチルールの削除] 確認画面で、[はい] をクリックします。
ブランチ保護ルールが削除されます。
次のステップ
- ブランチ保護の概要を確認する。
- Cloud Build に接続するの手順に沿って、ビルドを自動化する方法を学習します。
- 自動ビルドのステータスを確認する方法を学習する。