ブランチのセキュリティ ルールの設定方法について説明します。
ブランチ
以下のブランチに対してセキュリティ ルールを設定できます。
デフォルト ブランチ: クローン作成、ブランチ作成、マージ リクエストのベースとして機能します。デフォルト ブランチの設定は管理者が設定できます。
保護ブランチ: ブランチのセキュリティとコミットの追跡可能性を確保するために、削除や強制プッシュなどの不正な操作は許可されていません。
設定場所
リポジトリ管理者としてログオンし、コード リポジトリの詳細ページに移動して、 に移動します。

保護ブランチのセキュリティ ルールを設定する

手順 1: ブランチを選択する
次のいずれかの方法を使用してブランチを選択します。
ブランチ名を指定します。
ワイルドカード パターンを使用してブランチを照合します。疑問符 (?) とアスタリスク (*) のみがサポートされています。一致するすべてのブランチが表示されます。
質問: 複数のルールが一致する場合、有効なルールはどれですか?
回答: 特定のブランチ名を含むルールが最も優先されます。ブランチが複数のワイルドカード ルールに一致する場合、最初に作成されたルールが優先されます。これをさらに説明するために、コード リポジトリに master、master-1、および master-prod-1 ブランチが含まれており、rmaster-*、master-1、および master-prod-* ルールを順番に指定するとします。次の表に、ブランチとルールの間の一致を示します。
ブランチ名 | 一致可能なルール | 有効なルール |
master-1 | master-* および master-1 | master-1 |
master-2 | master-* | master-* |
master-prod-1 | master-* および master-prod-* | master-* |
手順 2: プッシュ ルールを設定する
保護ブランチのプッシュを許可するロールまたはメンバーを指定します。
ロールの場合:
デフォルトでは、マネージャーと開発者が許可されています。
ロールの選択を解除すると、プッシュは許可されません。
[なし] を選択すると、プッシュできるユーザーはいません。
メンバーの場合:
コード リポジトリからメンバーを選択します。選択したメンバーにコード リポジトリへの書き込み権限がある場合にのみ、設定が有効になることに注意してください。
手順 3: マージ ルールを設定する
マージ リクエストでマージ操作を実行することを許可されているロールまたはメンバーを指定します。
ロールの場合:
デフォルトでは、マネージャーと開発者が許可されています。
ロールの選択を解除すると、マージ操作の実行は許可されません。
メンバーの場合:
コード リポジトリからメンバーを選択します。選択したメンバーにコード リポジトリへの書き込み権限がある場合にのみ、設定が有効になることに注意してください。
上記のルールで指定されたロールとメンバーは同時に有効になります。たとえば、ルール A で管理者のみがプッシュできると記述し、ルール B でユーザー C がプッシュできると記述した場合、ユーザー C は管理者ではありませんが、両方がプッシュできます。
手順 4: コード レビューの承認ルールを設定する
手動承認ルールを設定する

コード レビューには、次の承認ルールがサポートされています。
作成者による承認を許可する: はい/いいえ。
すべてのコメントが解決済み: はい/いいえ。
次のコード レビュー モードがサポートされています。
全般
必要な承認者の最小数: 1。
承認を許可されたマージ リクエスト: 管理者または開発者。
デフォルトのレビュー担当者: 指定しない場合は表示されません。最大 20 人のレビュー担当者を指定できます。
CodeOwner
詳細については、「CodeOwner メカニズム」をご参照ください。
自動チェックの承認ルールを設定する
コード スキャン
[マージ前に自動ステータス チェックに合格] が有効になっていない場合、コード検出サービスを起動できません。

コード スキャン サービスが有効になっている場合、それに応じてコードがチェックされます。

パイプライン チェック
保護ブランチはパイプラインに関連付けることができます。

コード リポジトリが以前にパイプラインに関連付けられていない場合は、Alibaba Cloud DevOps Flow で 関連付ける か、作成します。
コードのコミット時にパイプライン チェックをトリガーするには、パイプラインの選択中に [コードの送信] を選択します。そうしないと、毎回手動でチェックをトリガーする必要があります。

関連付けられたパイプラインは、次の図のように一覧表示されます。パイプラインを選択して、そのチェックを保護ブランチへのすべてのマージ リクエストに適用します。すべてのチェックに合格した場合にのみ、マージ リクエストが承認されます。選択したパイプラインが実行されていない場合、関連するマージ リクエストは承認されません。
