Skip to content
Latchkey

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 の前にオーナーの承認を必須にできます。

関連ガイド