[GH-ISSUE #5] [FEATURE] Sonarqube eklenmesi #2

Open
opened 2026-03-02 01:53:55 +03:00 by kerem · 0 comments
Owner

Originally created by @erdembas on GitHub (Nov 13, 2025).
Original GitHub issue: https://github.com/mersel-dss/mersel-dss-server-signer-java/issues/5

Originally assigned to: @erdembas on GitHub.

💡 Özellik Açıklaması

Sign API projesine Sonarqube entegrasyonu eklenerek kod kalitesi, güvenlik zafiyetleri ve teknik borç metriklerinin otomatik olarak takip edilmesi.

🎯 Motivasyon

Mevcut pipeline'larda statik analiz eksikliği bulunuyor ve potansiyel hatalar prod ortama çıkmadan önce fark edilmeyebiliyor. Sonarqube ile kalite kuralı ihlallerini ve güvenlik açıklarını erken aşamada yakalayarak teslimat kalitesini artırabiliriz.

📖 Detaylı Açıklama

  • pom.xml içine Sonar Maven plugin ve gerekli sonar-project konfigürasyonlarının eklenmesi.
  • CI/CD pipeline'ına (devops/docker ya da mevcut GitHub Actions/Jenkins job) Sonarqube taraması (mvn sonar:sonar) adımının dahil edilmesi.
  • Quality Gate başarısız olduğunda pipeline'ın başarısız sayılması ve geliştiricilerin bildirim alması.
  • Sonarqube sunucusunun URL, token ve proje anahtarı gibi parametrelerinin devops yapılandırmalarında güvenli şekilde yönetilmesi.

💻 Örnek Kullanım

mvn clean verify sonar:sonar \
  -Dsonar.host.url=https://sonarqube.example.com \
  -Dsonar.login=${SONAR_TOKEN} \
  -Dsonar.projectKey=sign-api

🔄 Alternatifler

  • Kod kalitesi için yalnızca Checkstyle/SpotBugs gibi araçlara güvenmek (Sonarqube kadar kapsamlı kalite metriği sağlamıyor).
  • Açık kaynak SonarCloud servisini kullanmak (kurumsal güvenlik gereksinimleri nedeniyle tercih edilmedi).

📊 Öncelik

  • Critical - Çok acil
  • High - Yüksek öncelikli
  • Medium - Orta öncelikli
  • Low - Düşük öncelikli
  • Nice to have - Olsa güzel olur

🤝 Katkı

  • Evet, PR göndermek isterim
  • Belki, tartışabiliriz
  • Hayır, sadece öneri olarak bırakıyorum

✔️ Kontrol Listesi

  • Mevcut issue'larda benzer özellik yok
  • Özellik detaylı açıklandı
  • Kullanım örneği eklendi
  • Alternatifler düşünüldü
Originally created by @erdembas on GitHub (Nov 13, 2025). Original GitHub issue: https://github.com/mersel-dss/mersel-dss-server-signer-java/issues/5 Originally assigned to: @erdembas on GitHub. ## 💡 Özellik Açıklaması Sign API projesine Sonarqube entegrasyonu eklenerek kod kalitesi, güvenlik zafiyetleri ve teknik borç metriklerinin otomatik olarak takip edilmesi. ## 🎯 Motivasyon Mevcut pipeline'larda statik analiz eksikliği bulunuyor ve potansiyel hatalar prod ortama çıkmadan önce fark edilmeyebiliyor. Sonarqube ile kalite kuralı ihlallerini ve güvenlik açıklarını erken aşamada yakalayarak teslimat kalitesini artırabiliriz. ## 📖 Detaylı Açıklama - `pom.xml` içine Sonar Maven plugin ve gerekli `sonar-project` konfigürasyonlarının eklenmesi. - CI/CD pipeline'ına (`devops/docker` ya da mevcut GitHub Actions/Jenkins job) Sonarqube taraması (`mvn sonar:sonar`) adımının dahil edilmesi. - Quality Gate başarısız olduğunda pipeline'ın başarısız sayılması ve geliştiricilerin bildirim alması. - Sonarqube sunucusunun URL, token ve proje anahtarı gibi parametrelerinin `devops` yapılandırmalarında güvenli şekilde yönetilmesi. ## 💻 Örnek Kullanım ```bash mvn clean verify sonar:sonar \ -Dsonar.host.url=https://sonarqube.example.com \ -Dsonar.login=${SONAR_TOKEN} \ -Dsonar.projectKey=sign-api ``` ## 🔄 Alternatifler - Kod kalitesi için yalnızca Checkstyle/SpotBugs gibi araçlara güvenmek (Sonarqube kadar kapsamlı kalite metriği sağlamıyor). - Açık kaynak SonarCloud servisini kullanmak (kurumsal güvenlik gereksinimleri nedeniyle tercih edilmedi). ## 📊 Öncelik - [ ] Critical - Çok acil - [x] High - Yüksek öncelikli - [ ] Medium - Orta öncelikli - [ ] Low - Düşük öncelikli - [ ] Nice to have - Olsa güzel olur ## 🤝 Katkı - [x] Evet, PR göndermek isterim - [ ] Belki, tartışabiliriz - [ ] Hayır, sadece öneri olarak bırakıyorum ## ✔️ Kontrol Listesi - [x] Mevcut issue'larda benzer özellik yok - [x] Özellik detaylı açıklandı - [x] Kullanım örneği eklendi - [x] Alternatifler düşünüldü
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/mersel-dss-server-signer-java#2
No description provided.