Sonarqube Kurulumu: Kod Kalitesini ve Güvenliğini Otomatik Denetleyin

  • Konbuyu başlatan Konbuyu başlatan irfo
  • Başlangıç tarihi Başlangıç tarihi

irfo

Moderatör
Katılım
7 Ocak 2026
Mesajlar
290
Tepkime puanı
2
Puanları
18
Yazılım geliştirirken kodun çalışması yeterli değildir; kodun aynı zamanda sürdürülebilir, güvenli ve temiz olması gerekir. SonarQube, kodunuzdaki hataları (bugs), güvenlik açıklarını (vulnerabilities) ve "kod kokularını" (code smells) otomatik olarak tespit eden dünyaca ünlü bir platformdur.

Bu rehberde, SonarQube'u Docker kullanarak nasıl hızlıca kuracağınızı ve projelerinizi nasıl taratacağınızı inceleyeceğiz.

SonarQube’un Temel Özellikleri​


  • [] Çoklu Dil Desteği: PHP, Java, Python, JavaScript, C# ve daha onlarca dili destekler. [] Quality Gates (Kalite Kapıları): Belirlediğiniz kriterleri (Örn: %80 test coverage altı) geçemeyen kodun canlıya çıkmasını engeller. [] Teknik Borç Analizi: Kodun düzeltilmesi için gereken tahmini süreyi hesaplar. [] CI/CD Entegrasyonu: Jenkins, GitLab CI ve GitHub Actions ile tam uyumlu çalışır.

Docker ile Hızlı SonarQube Kurulumu​


SonarQube; bir uygulama sunucusu ve bir veritabanı (PostgreSQL) ile çalışır. En sağlıklı kurulum yöntemi Docker Compose kullanmaktır.

1. docker-compose.yml dosyasını oluşturun:

YAML:
 version: '3' services: sonarqube: image: sonarqube:community ports: - "9000:9000" networks: - sonarnet environment: - SONAR_JDBC_URL=jdbc:postgresql://db:5432/sonar - SONAR_JDBC_USERNAME=sonar - SONAR_JDBC_PASSWORD=sonar_password

db: image: postgres:12 networks: - sonarnet environment: - POSTGRES_USER=sonar - POSTGRES_PASSWORD=sonar_password - POSTGRES_DB=sonar

networks: sonarnet:

2. Sistemi Başlatın: Terminalde docker-compose up -d komutunu çalıştırın. Birkaç dakika sonra adresinden panele erişebilirsiniz. (Varsayılan kullanıcı adı/şifre: admin / admin)

Projeyi Taramaya Başlamak (Sonar Scanner)​


Kurulum sonrası panele giriş yapıp yeni bir proje oluşturduğunuzda, Sonar size bir "Token" ve bir tarama komutu verecektir. PHP veya XenForo projenizi taramak için kök dizinde şu komutu çalıştırabilirsiniz:

Bash:
 docker run

--rm

-e SONAR_HOST_URL="http://ip-adresiniz:9000"

-e SONAR_SCANNER_OPTS="-Dsonar.projectKey=proje_adiniz"

-e SONAR_TOKEN="sonar_token_buraya"

-v "$(pwd):/usr/src"

sonarsource/sonar-scanner-cli

SonarQube Analiz Sonuçlarını Anlamak​


Tarama bittiğinde panelde karşınıza şu metrikler çıkacaktır:

MetrikAçıklama
Bugs (Hatalar)Kodun çalışma anında patlamasına neden olabilecek hatalar.
VulnerabilitiesSQL Injection, XSS gibi doğrudan güvenlik açıkları.
Code SmellsKodun okunabilirliğini düşüren "kötü kokular".
DuplicationsKopyala-yapıştır yapılmış, tekrar eden kod blokları.

XenForo Eklenti Geliştiricileri İçin Neden Önemli?​


Eğer forumunuz için eklenti geliştiriyorsanız, SonarQube size şunları söyler:
  • [] Kullanılmayan değişkenleri tespit eder (Memory tasarrufu). [] SQL sorgularındaki hatalı yapıları bulur (Veritabanı güvenliği).
  • Karmaşıklığı (Complexity) ölçer; çok uzun ve karmaşık fonksiyonları parçalamanız için sizi uyarır.

Sonuç​


SonarQube, sadece bir tarama aracı değil, aynı zamanda yazılımcı için bir "öğretmen" gibidir. Hataları nedenleriyle birlikte açıklar ve düzeltme önerileri sunar. Temiz ve güvenli kod yazmak bir tercih değil, profesyonel bir standart olmalıdır.
 
Geri
Üst