O Que É um Arquivo CODEOWNERS?
Um arquivo CODEOWNERS mapeia caminhos no seu repositório para as pessoas ou times responsáveis por eles, para que os revisores certos sejam solicitados automaticamente.
Um arquivo CODEOWNERS responde à pergunta "quem deve revisar as mudanças neste código?" Ao mapear padrões de arquivo para donos, ele garante que sempre que alguém mexer em uma determinada área, as pessoas que a conhecem melhor sejam automaticamente incluídas na revisão, e possam ser obrigadas a aprovar.
O que o CODEOWNERS faz
CODEOWNERS é um arquivo que lista padrões de caminho ao lado dos usuários ou times que os possuem. Quando um pull request altera arquivos correspondentes, a plataforma solicita automaticamente a revisão desses donos. Ele codifica a responsabilidade por partes da base de código diretamente no repositório.
O formato do arquivo
Cada linha combina um padrão de caminho com um ou mais donos.
# path owners
/billing/ @team-payments
*.tf @team-infra
/docs/ @alice @bobPor que ajuda
CODEOWNERS elimina a adivinhação de quem deve revisar o quê. Ele distribui a carga de revisão aos especialistas certos, evita que mudanças em áreas sensíveis passem sem revisão e documenta a propriedade em um único lugar versionado que permanece atualizado com o código.
CODEOWNERS no CI/CD
Combinado com a proteção de branch, o CODEOWNERS pode exigir que um dono aprove antes que um pull request faça merge. Isso transforma a revisão em um gate imposto ao lado dos checks de CI: código em uma área protegida não pode fazer merge até que tanto o pipeline passe quanto um dono responsável aprove, fortalecendo o gate de entrega como um todo.
Usando o CODEOWNERS bem
- Mapeie áreas sensíveis e complexas para donos com conhecimento.
- Prefira times a indivíduos para evitar pontos únicos de falha.
- Habilite a revisão obrigatória do dono em branches protegidos.
- Mantenha o arquivo atualizado conforme a propriedade e a estrutura mudam.
Principais conclusões
- Um arquivo CODEOWNERS mapeia caminhos para os donos que os revisam.
- Ele solicita automaticamente os revisores certos para cada mudança.
- Com a proteção de branch, ele pode exigir a aprovação do dono antes do merge.