GitLabコードオーナー
- プラン: Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
コードオーナー機能を使用すると、プロジェクトのコードベースの特定の部分に関して専門知識を持つユーザーを定義できます。リポジトリ内のファイルとディレクトリのオーナーを定義して、以下を実現します:
オーナーに変更の承認を要求する。保護ブランチをGitLabコードオーナーと組み合わせて、マージリクエストを保護ブランチにマージする前に知識豊富なユーザーが承認することを要求します。詳細については、コードオーナーと保護ブランチを参照してください。
オーナーを特定する。コードオーナーの名前は、所有するファイルとディレクトリに表示されます:
GitLabコードオーナーと承認ルール
コードオーナーとマージリクエストの承認ルールを組み合わせて、柔軟な承認ワークフローを構築します:
- GitLabコードオーナーを使用して品質を確保します。リポジトリ内の特定のパスに関する専門知識を持つユーザーを定義します。
- 承認ルールを使用して、リポジトリ内の特定のファイルパスに対応しない専門知識の領域を定義します。承認ルールは、マージリクエストの作成者が、フロントエンドの開発者やセキュリティチームなど、適切なレビュアーを決定するのに役立ちます。
次に例を示します:
| タイプ | 名前 | スコープ | コメント |
|---|---|---|---|
| 承認ルール | ユーザーエクスペリエンス | すべてのファイル | ユーザーエクスペリエンス(UX)チームのメンバーが、プロジェクトで行われたすべての変更のユーザーエクスペリエンスをレビューします。 |
| 承認ルール | セキュリティ | すべてのファイル | セキュリティチームのメンバーが、すべての変更に脆弱性がないかレビューします。 |
| コードオーナー承認ルール | フロントエンド: コードスタイル | *.cssファイル | フロントエンドエンジニアは、CSSファイルの変更をレビューして、プロジェクトのスタイル標準への準拠を確認します。 |
| コードオーナー承認ルール | バックエンド: コードレビュー | *.rbファイル | バックエンドエンジニアは、Rubyファイルのロジックとコードスタイルをレビューします。 |
承認者またはコードオーナーとしてマージリクエストを承認する資格のあるユーザーの詳細については、メンバーシップタイプ別の承認者を参照してください。
GitLabコードオーナーと保護ブランチ
CODEOWNERSファイルで指定されたコードオーナーによりマージリクエストの変更を確実にレビューおよび承認するには、マージリクエストのターゲットブランチが保護されており、コードオーナーの承認が有効になっている必要があります。
保護ブランチでコードオーナーの承認を有効にすると、次の機能を利用できます:
実践的な例
プロジェクトでは、config/ディレクトリに機密情報と重要な情報が含まれています。次のことができます:
- ディレクトリの所有権を割り当てる。これを行うには、
CODEOWNERSファイルを設定します。 - デフォルトブランチの保護ブランチを作成する(例:
main)。 - 保護ブランチでRequired approval from code owners(コードオーナーからの承認を必須にする)を有効にする。
- オプション。
CODEOWNERSファイルを編集して、複数承認のルールを追加する。
この構成では、config/ディレクトリ内のファイルを変更し、mainブランチをターゲットとするマージリクエストの場合、マージする前に指定されたコードオーナーからの承認が必要です。
保護ブランチへのプッシュとマージを許可する
プッシュとマージを許可されているユーザーは、変更内容についてマージリクエストを作成するか、変更をブランチに直接プッシュするかを選択できます。ユーザーがマージリクエストプロセスをスキップすると、マージリクエストに組み込まれている保護ブランチ機能とコードオーナーの承認もスキップされます。
この権限は、多くの場合、自動化(内部ユーザー)およびリリースツールに関連付けられたアカウントに付与されます。
プッシュを許可権限がないユーザーからのすべての変更は、マージリクエストを介してルーティングする必要があります。
ファイルまたはディレクトリのGitLabコードオーナーを表示する
ファイルまたはディレクトリのコードオーナーは、次の手順で表示できます:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- コード > リポジトリを選択します。
- コードオーナーを表示するファイルまたはディレクトリに移動します。
- オプション。ブランチまたはタグを選択します。
GitLabでは、ページの上部にコードオーナーを表示します。
GitLabコードオーナーを設定する
前提要件:
- デフォルトブランチにプッシュするか、またはマージリクエストを作成する権限が必要です。
- 推奨される場所に
CODEOWNERSファイルを作成します。 CODEOWNERS構文に従って、ファイルにいくつかのルールを定義します。この場合の推奨事項は次のとおりです:- すべての適格な承認者承認ルールを設定する。
- 保護ブランチでコードオーナーの承認を要求する。
- 変更をコミットし、GitLabにプッシュします。
CODEOWNERSファイル
CODEOWNERSファイルは、GitLabプロジェクトのコードに対する責任者を定義します。その目的は次のとおりです:
- 特定のファイルとディレクトリのコードオーナーを定義する。
- 保護ブランチの承認要件を適用する。
- プロジェクトでコードの所有権を伝える。
このファイルにより、変更をレビューおよび承認するユーザーを決定し、適切な専門知識を持ったユーザーをコードの変更に巻き込むことができます。
各リポジトリは、単一のCODEOWNERSファイルを使用します。GitLabは、リポジトリ内のこれらの場所を以下の順序でチェックします。最初に見つかったCODEOWNERSファイルが使用され、その他はすべて無視されます:
- ルートディレクトリ内:
./CODEOWNERS。 docsディレクトリ内:./docs/CODEOWNERS。.gitlabディレクトリ内:./.gitlab/CODEOWNERS。
詳細については、CODEOWNERS構文および高度なCODEOWNERS設定を参照してください。
