Maven 2 projesi için Jenkins ile sonar analizini başlatmak istiyorum. İlk olarak "sonar: sonar" hedefini yapı yapılandırmasında kullandım. Ama daha yeni Jenkins için sonar eklentisini buldum. Neden kullanmalı? Daha iyi bir pratice mi ve neden?Neden "sonar: sonar" maven hedefini kullanmak yerine Jenkins için sonar eklentisini kullanıyorsunuz?
Neden "sonar: sonar" maven hedefini kullanmak yerine Jenkins için sonar eklentisini kullanıyorsunuz?
cevap
Tabii ki basit bir "mvn sonar: sonar" yapabilirsiniz, bu işe yarayacak.
Diğer tarafta, yapılandırmayı kolaylaştıracak Jenkins için Sonar eklentisi var. Örneğin, Sonar sunucunuz (URL, DB kullanıcısı ve şifre) veya birden fazla Sonar sunucunuz hakkındaki bilgileri tek bir yerde (Jenkins'in konfigürasyon bölümünde) tanımlayabileceksiniz, böylece her yerde tekrarlamak zorunda kalmayacaksınız. Eklenti ayrıca bir Sonar analizini anında (Maven olmadan) çalıştırabilmenizi sağlar: sadece bazı zorunlu özellikleri (örneğin "sonar.projectKey" ve "sonar.projectVersion" gibi) ve eklentiyi sağlamanız gerekir. Java Standalone Runner'ı sizin için şeffaf bir şekilde başlatacaktır (bu, çoğunlukla Java'yı inşa etmek için Maven'e güvenmeyen diğer diller için yararlıdır).
Eğer bazı testler yapıyorsanız, gerçekten bu eklentiye ihtiyacınız yok. Ancak, Jenkins'in bir üretim örneğini oluşturuyorsanız, Sonar eklentisini kullanmak en iyisidir.