ブランチ保護をルールセットに変換する方法について
ルールセットを使用すると、リポジトリに対する保護の適用方法をより明確に把握し、制御できます。 ブランチ保護規則とは異なり、複数のルールセットを同じブランチに同時に適用でき、読み取りアクセス権を持つユーザーはアクティブなルールセットを表示できます。 これにより、開発者はルールに影響を与えるルールを理解し、監査担当者は管理者アクセスなしでリポジトリの保護を確認できます。
既存の保護をこのモデルに移行するには、ガイド付きフローで一度に 1 つのブランチ保護ルールを変換します。 GitHub は、元のルールの動作を保持する 1 つ以上のルールセットを生成します。 ルールセットをプレビューし各ルールを適用する方法を選択し、 し、元のブランチ保護規則を削除する前に結果を確認できます。
ルールセットの一般情報については、「ルールセットについて」をご覧ください。
分岐保護規則をルール セットに変換する
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
![タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。](/assets/cb-28260/images/help/repository/repo-actions-settings.png)
-
サイドバーの [Code and automation] セクションで、 [Branches] をクリックします。
-
[分岐保護規則] で、変換するルールを見つけて、[ ルールセットに変換] をクリックします。
-
この変換で作成される各ルール セットのルール セット名を設定します。
-
ルールセットまたはルールセットを作成するときに何が変わるかを理解するには、「新しい動作」セクションを確認してください。
-
[強制状態] で、新しいルールセットを適用する方法を選択します。 詳細については、「 強制状態の選択」を参照してください。
[アクティブ] を選択した場合は、必要に応じて、移行が完了したら [ブランチ保護規則の削除] を選択することで、変換の一環として元のブランチ保護規則を削除できます
- [ ルールセットの作成] をクリックします。 変換によって複数のルールセットが生成される場合、ボタンにはルールセットの数が含まれます (たとえば、 2 つのルールセットの作成)。
元のブランチ保護規則を保持すると、一致するブランチが引き続き保護されます。 アクティブなルールセットがそれに沿って適用されるため、変更は両方を満たす必要があります。 Evaluate ルール セットは、ルールを適用せずに動作する方法を記録します。
メモ
変換では、"マージする前に会話解決を要求する" 設定を除き、すべてのブランチ保護の種類が対象となります。 ブランチ保護では、この設定は単独で存在します。 ルールセットでは、会話解決はプル要求ルールの一部であり、そのルールが有効になっている場合にのみ適用されます。 その結果、この設定は変換中に 1 対 1 にマップされません。 「ルールセットで使用できるルール」を参照してください。
強制状態の選択
ブランチ保護規則を変換する場合は、新しいルールセットの適用状態を選択します。
- アクティブ: ルール セットは、作成されるとすぐに適用されます。
- 評価: ルール セットはルールを適用せずに実行されるため、ルールセットが有効になる前に動作を確認できます。
既定では [アクティブ] が選択されていますが、状況に合った状態を検討してください。
- 以前に同様のルールを作成または移行し、結果に自信がある場合は、 Active を使用できます。
- これが最初の移行である場合は、 評価 モードで開始することを検討してください。 新しいルールセットが期待どおりに動作することを確認し、テストが完了したら元のブランチ保護規則を削除できます。
元のブランチ保護規則の削除
ルールを変換した後、[ブランチの設定 ] ページに戻ります。 変換プロセス中に分岐保護ルールを削除しなかった場合、新しいルールセットで完全にカバーされている場合、一覧に表示されるルールには"このルールはルールセットで完全にカバーされており、安全に削除できます" というメッセージが表示され、[ルールセットに変換] ボタンの代わりに [削除] ボタンが表示されます。
元のルールを削除する前に、新しいルールセットが期待どおりに動作することを確認することをお勧めします特に 評価 モードで作成した場合。 準備ができたら、[ 削除 ] をクリックしてブランチ保護規則を削除します。