CODEOWNERS ファイルとは?
CODEOWNERS ファイルは、リポジトリ内のパスを、それらに責任を持つ人やチームにマッピングし、適切なレビュアーが自動的に依頼されるようにします。
CODEOWNERS ファイルは「このコードの変更を誰がレビューすべきか?」という問いに答えます。ファイルパターンをオーナーにマッピングすることで、誰かがある領域に触れるたびに、それを最もよく知る人々が自動的にレビューに引き込まれ、承認を必須にすることもできます。
CODEOWNERS が行うこと
CODEOWNERS は、パスパターンとそれを所有するユーザーやチームを並べて記載したファイルです。pull request が一致するファイルを変更すると、プラットフォームは自動的にそれらのオーナーにレビューを依頼します。コードベースの各部分に対する責任をリポジトリ内に直接エンコードします。
ファイル形式
各行は、1 つのパスパターンと 1 人以上のオーナーを対応させます。
A CODEOWNERS file
# path owners
/billing/ @team-payments
*.tf @team-infra
/docs/ @alice @bobなぜ役立つか
CODEOWNERS は、誰が何をレビューすべきかの当て推量を取り除きます。レビューの負荷を適切な専門家に分散させ、機微な領域への変更がレビューされずにすり抜けるのを防ぎ、所有権をコードと常に同期する単一のバージョン管理された場所に文書化します。
CI/CD における CODEOWNERS
ブランチ保護と組み合わせると、CODEOWNERS は pull request が merge される前にオーナーが承認することを必須にできます。これにより、レビューが CI の check と並ぶ強制ゲートになります。保護された領域のコードは、pipeline が合格し、かつ責任あるオーナーが承認するまで merge できず、デリバリーゲート全体が強化されます。
CODEOWNERS をうまく使う
- 機微で複雑な領域を、知見のあるオーナーにマッピングする。
- 単一障害点を避けるため、個人よりチームを優先する。
- 保護されたブランチでオーナーの必須レビューを有効にする。
- 所有権や構造が変わるたびにファイルを最新に保つ。
重要なポイント
- CODEOWNERS ファイルは、パスをそれをレビューするオーナーにマッピングします。
- 各変更に対して適切なレビュアーを自動的に依頼します。
- ブランチ保護と組み合わせると、merge の前にオーナーの承認を必須にできます。
関連ガイド
What Is a Protected Branch?What is a protected branch? An explainer on rules that guard important branches like main, requiring reviews…
What Is a Pull Request?What is a pull request? An explainer on how PRs propose changes, gather review, run CI checks, and serve as t…
What Is a Required Status Check?What is a required status check? Learn how marking a CI check as required blocks merges until it passes, maki…