15092025 – git шмекерии
Днес един от колегите в офиса имаше интересен казус. Някой му беше омазал IaC-то и търсеше начини да си направи контрола на промените по неговата част от кода много по-затегнат.
Проблема обаче е, че това репо е споделено между два доста големи екипа и ежедневно валят по много PR-и, които той не може да следи един по един.
Та ни разпита какво решение може да има в GitHub и се присетих за това, което бях гледал преди време пак по подобен случай. git са измислили супер елегантно решение (което се поддържа от github/gitlab и сие) с много тъпо име – CODEOWNERS. To представлява специален файл в който даваме условие и owner, например:
# All Terraform files
*.tf @devops @nedko
# Everything in the devops folder and its subfolders to @devops-team and user @nedko
/devops/ @devops-team @nedko
Горното е пример за това как можете да добавите в CODEOWNERS както файлове (може и единични като pom.xml например) или по друг критерии, може и цяла директория. Добра практика е да използваме групи, а не единични акаунти, защото ако аз напусна (или HR разбере за вицовете, които разказвам в офиса) ще стане лошо.
Файла трябва да се казва CODEOWNERS и да бъде в основната директория на проекта, в .github (за github потребителите) или в docs директорията.