Jenkins, CI/CD süreçlerinde kullanılan otomasyon tool’ umuz, detaylı bilgi ve kurulum adımları için jenkins makaleme göz gezdirebilirsiniz.
SonarQube, sürekli entegrasyon sürecimizde geliştirdiğimiz kodu analiz eden açık kaynak bir yazılımdır.
Sonarqube için de 2 adet sonarqube – sonarqube database konteynırları oluşturarak Jenkins’ e entegre edeceğiz.
Aşağıdaki compose file ı kullanarak sonarqube konteynırlarını ayağa kaldırabilirsiniz.
version: ‘3’
services:
sonarqube:
image: sonarqube:latest
container_name: sonarqube
ports:
– “9111:9000”
environment:
– SONARQUBE_JDBC_URL=jdbc:postgresql://sonarqube-db:5432/sonarqube
– SONARQUBE_JDBC_USERNAME=sonarqube
– SONARQUBE_JDBC_PASSWORD=your_password_here
networks:
– sonarqube-network
depends_on:
– sonarqube-db
sonarqube-db:
image: postgres:latest
container_name: sonarqube-db
environment:
– POSTGRES_USER=sonarqube
– POSTGRES_PASSWORD=your_password_here
– POSTGRES_DB=sonarqube
networks:
– sonarqube-network
networks:
sonarqube-network:
Ben docker yönetim paneli olarak portainer kullanıyorum, portainer tarafında da detaylı bilgi için portainer makaleme göz gezdirebilirsiniz.
İlgili compose file ile 9111 portunda Sonarqube çalıştırdık, 8080 portunda da Jenkinsimiz çalışıyor.
Jenkins plugins alanından sonar-scanner pluginini Jenkins’e ekleyelim.

SonarQube scanner kurulumunu tamamladıktan sonra Jenkins tarafında kongirüasyonları tamamlayalım, Tools ve Configuration sekmelerinden Jenkins Konteynırımızı, Sonarqube konteynırımıza erişebilir hale getirelim.

SonarQube scanner’ı ekledik, şimdi yapılandırma sekmesinden SonarQube konteynırımızın bilgilerini girelim.

Jenkins tarafında tüm ayarları yaptık, server authentication olarak gözüken token’ı SonarQube üzerinden alıyoruz, bu token ile Jenkins auth olup projeyi SonarQube tarafında create ediyor. SonarQube üzerinden ilgili token’ı nasıl aldığımızı da paylaşalım.

İlgili token’ ı Jenkins’ e eklememiz yeterli.
Entegrasyonlarımız tamam, şimdi en heyecanlı kısım, github’dan örnek bir projeyi alıp SonarQube ile analiz edebiliriz 🙂
Yeni bir freestyle proje açıp, github linkini source code management’ a girelim,
SonarQube aşamasında yapılması zorunlu şey, projectkey in belirtilmesi, ben example python project olarak test ettim sistemi.

Şimdi Job’ ı çalıştırıyoruz.
Example Project’ imizin sonuçları SonarQube Web Panelimize geldi 🙂

İlgili işlemi pipeline yazarak’ta yapabiliriz, Jenkins – SonarQube çalışma mantığını bir örnekle açıklamak istedim.
Faydalı Olması Dileklerimle
Geri bildirim: SonarQube Proje Yetkilendirmesi – Linux | DevOPS | IT Dünyasına Dair Herşey