Jenkins – SonarQube Entegrasyonu

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.

Image 1 1024x302

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.

Image 2 1024x453

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

Image 3 1024x484

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.

Image 4 1024x439

İ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.

Image 5 1024x613

Şimdi Job’ ı çalıştırıyoruz.

Example Project’ imizin sonuçları SonarQube Web Panelimize geldi 🙂

Image 6 1024x475

İlgili işlemi pipeline yazarak’ta yapabiliriz, Jenkins – SonarQube çalışma mantığını bir örnekle açıklamak istedim.

Faydalı Olması Dileklerimle

“Jenkins – SonarQube Entegrasyonu” için 1 yorum

  1. Geri bildirim: SonarQube Proje Yetkilendirmesi – Linux | DevOPS | IT Dünyasına Dair Herşey

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir