Bizi Takip Edin!

GitLab Approval Rules ve Codeowners

GitLab Approval Rules

GitLab Approval Rules ve Codeowners

Bir süredir yazılım ekibi olarak kendi GitLab kurulumumuza geçmiş olmanın heyecanını yaşıyoruz. Bu yeni geçiş ile birlikte GitLab’in yeni özelliklerini de keşfetmeye çalıştık. Bu yazıda keşfettiğimiz ve kullanmaya başladığımız bir özellikten bahsedeceğim: Approval Rules

GitLab’de açılan bir MR’ın belirli kişilerden oluşan bir takımın/takımların onayından geçmesini sağlayabiliyorsunuz. Açılan bir MR yalnızca gereken onay sayısına ulaşıldığında merge edilebilir oluyor. Proje ayarlarından gereken takımları ve takımların üyelerini belirleyebiliyorsunuz.

Örnek olarak aşağıdaki Approval kuralı incelenebilir.

GitLab Approval Rules

Bu kural seti, bu projeye açılacak olan her MR’ın Frontend, Backend ve DevOps takımlarının onaylarından geçmesi gerektiğini gösteriyor. Takımların yanında bulunan minimum onay sayısı kısmından ilgili takımdan kaç kişinin onayı gerektiğini de belirtebilirsiniz.

 

Approval Rules ve Codeowners

Her MR açılması sırasında ilgili grupları seçmek veya değiştirmek projenin büyüklüğüne göre zaman alan bir işleme dönüşebilir. GitLab bunun için de bir özellik sağlıyor: Codeowners.

Codeowners özelliği sayesinde projenizdeki hangi dosyalardan hangi takımın sorumlu olduğunu belirtebiliyorsunuz. Böylelikle MR açıldığı sırada yalnızca ilgili takımların onayı gerekiyor. Codeowners özelliğini projenizin içerisinde bir CODEOWNERS dosyası oluşturarak etkin hale getirebiliyorsunuz.

Yukarıdaki örnek proje üzerinden ilerleyelim. Projeyi farklı gruplara ayırarak aşağıdaki gibi bir CODEOWNERS dosyası oluşturabiliriz;

[Frontend]
*.js @frontend

[Backend]
*.py @backend

[DevOps]
Dockerfile @devops
.gitlab-ci.yml @devops

Bu şekilde yeni bir MR açıldığında yukarıdaki kural setine göre yalnızca ilgili grupların onay vermeleri beklenecek.

GitLab’in sunmuş olduğu bu özellikler arasında maalesef ilgili kullanıcılara MR için onaylarının beklendiğini belirten bir bildirim gönderilmiyor. MR’ı onaylayacak kişilerin bundan haberdar olmaması merge edilme sürecini uzatıyor. Bu soruna bir çözüm olarak, biz Artistanbul ekibi bir proje geliştirdik. mr-notification ismindeki bu proje ile yeni bir MR açıldığında ilgili kullanıcılara Slack üzerinden DM gönderebiliyorsunuz.

Aşağıdaki bağlantıdan projeye erişebilirsiniz.

İyi günler dilerim.

Bilal Ünal
Yorum Yok

Yorum Yaz

Yorum
İsim
E-Posta
Website