Note
タグ保護ルールは、GitHub Enterprise Server バージョン 3.16 以降の 非推奨 です。 代わりにルールセットを使用してください。 まだ使用中のタグ保護ルールはすべて自動移行されます。 この詳細については、the GitHub Blogを参照してください。
タグ保護ルールを追加すると、指定されたパターンに一致するすべてのタグが保護されます。 管理者またはメンテナのアクセス許可を持つユーザー、またはリポジトリ内の "リポジトリ ルールの編集" アクセス許可を持つカスタム ロールのみが、保護されたタグを作成でき、管理者アクセス許可を持つユーザーまたはリポジトリ内の "リポジトリ ルールの編集" アクセス許可を持つカスタム ロールのみが、保護されたタグを削除できます。 詳しくは、「Organizationのリポジトリロール」を参照してください。 GitHub Apps で保護されたタグを変更するには、Repository administration: write
権限が必要です。
さらに、カスタム リポジトリ ロールを作成して、他のユーザー グループがタグ保護ルールに一致するタグを作成または削除できるようにすることができます。 詳しくは、「Organizationのカスタムリポジトリロールの管理」をご覧ください。
リポジトリルールセットへのタグ保護ルールのインポートについて
既存のタグ保護ルールをリポジトリルールセットにインポートできます。 これにより、現在リポジトリに対して設定されているのと同じタグ保護が実装されます。 詳細については、「Importing tag protection rules to repository rulesets」を参照してください。
ルールセットには、タグ保護ルールよりも優れた次の利点があります。
- 保護ルールとは異なり、複数のルールセットを同時に適用できるため、リポジトリ内のタグを対象とするすべてのルールが、誰かがそのタグを操作したときに評価されることを確信できます。 詳しくは、「ルールセットについて」を参照してください。
- ルールセットには状態があるため、ルールセットを削除しなくても、リポジトリでどのルールセットをアクティブにするかを簡単に管理できます。
- リポジトリへの読み取りアクセス権を持つユーザーは、リポジトリのアクティブなルールセットを表示できます。 これは、開発者がルールに抵触した理由を理解できること、または監査担当者がリポジトリへの管理者アクセス権を必要とせずに、リポジトリのセキュリティ制約を確認できることを意味します。
- ルールセットを使用すると、組織全体でタグ名を制限できます。
タグ保護ルールの追加
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
-
サイドバーの [Code and automation] セクションで、 [Tags] をクリックします。
-
[新しいルール] をクリックします。
-
[タグ名パターン] に、保護するタグのパターンを入力します。 タグ保護ルールでは
fnmatch
構文が使用されます。 構文のオプションについて詳しくは、「fnmatch のドキュメント」を参照してください。 この例では、「*」と入力するとすべてのタグが保護されます。 -
[ルールの追加] をクリックします。
リポジトリ ルールセットへのタグ保護ルールのインポート
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
-
サイドバーの [Code and automation] セクションで、 [Tags] をクリックします。
-
右上隅にある [ルールセットにインポート] をクリックします。
-
[保護されたタグを作成および削除するための個別のルールセットを作成する] または [保護されたすべてのタグ操作に対して 1 つのルールセットを作成する] を選択します。 ルールセットを作成したら、ルールセットを編集して動作をさらに絞り込むことができます。
-
[インポート] をクリックします。