SonarQube Nedir?
SonarQube Kurulumu: Başlangıç Noktası
# Adım 1: Java ve PostgreSQL Kurulumu
1. Java Kurulumu:
- SonarQube, Java 11 ve üzeri sürümlerle uyumludur.
- Java’yı indirip kurduktan sonra terminalde `java -version` komutuyla kurulumun başarılı olup olmadığını kontrol edin.
2. PostgreSQL Kurulumu:
- PostgreSQL’i [resmi web sitesinden](https://www.postgresql.org/download/) indirip kurabilirsiniz.
- PostgreSQL’i kurduktan sonra veritabanı oluşturun. Bunun için terminal veya komut satırında şu komutları kullanabilirsiniz:
```bash
sudo -u postgres psql
CREATE DATABASE sonarqube;
CREATE USER sonar WITH PASSWORD 'your_password';
ALTER ROLE sonar SET client_encoding TO 'utf8';
ALTER ROLE sonar SET default_transaction_isolation TO 'read committed';
ALTER ROLE sonar SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE sonarqube TO sonar;
\q
```
# Adım 2: SonarQube İndirme ve Kurulum
1. [SonarQube'un resmi web sitesinden](https://www.sonarqube.org/downloads/) SonarQube’u indirin.
2. İndirdiğiniz zip dosyasını çıkartın.
3. SonarQube dizinine gidin ve aşağıdaki komutla servisi başlatın:
```bash
./bin/linux-x86-64/sonar.sh start
```
# Adım 3: SonarQube Web Arayüzüne Erişim
```
http://localhost:9000
```
İlk kez giriş yaparken kullanıcı adı ve şifre olarak admin / admin kullanabilirsiniz.
Kod Analizi: Nasıl Çalışır?
# Adım 1: Projenizi SonarQube’a Bağlamak
İşte basit bir `sonar-project.properties` dosyası örneği:
# SonarQube projesi için gerekli ayarlar
sonar.projectKey=my_project_key
sonar.projectName=My Project
sonar.projectVersion=1.0
sonar.sources=src
sonar.language=java
sonar.host.url=http://localhost:9000
Bu dosya, SonarQube’un projenizin kaynak kodlarını ve diğer bilgilerini nasıl işleyeceğine dair talimatlar verir.
# Adım 2: SonarQube ile Proje Analizi
sonar-scanner
Bu komut, SonarQube’un projedeki kodları analiz etmesini başlatır. Analiz tamamlandığında, SonarQube sonuçları web arayüzünde görüntülenebilir.
# Adım 3: Sonuçları İnceleme
- Code Smells: Kodda iyileştirme yapılması gereken yerler.
- Bugs: Potansiyel hatalar.
- Vulnerabilities: Güvenlik açıkları.
- Duplications: Kopya kodlar.
Ayrıca, test kapsamı ve kodun bakım kolaylığı hakkında da bilgi edinebilirsiniz. SonarQube’un görselleştirmeleri sayesinde, projedeki sorunları kolayca tespit edebilirsiniz.
SonarQube ve CI/CD Entegrasyonu
Örneğin, Jenkins gibi CI araçlarıyla entegrasyon sağlayarak her build sonrası analiz yapılmasını sağlayabilirsiniz. Bunun için şu adımları izleyebilirsiniz:
1. Jenkins’e SonarQube Plugin’i ekleyin.
2. Projenizin yapılandırma dosyasına SonarQube analizi komutlarını ekleyin.
3. Jenkins build job’ı çalıştırdığınızda, her şey otomatik olarak gerçekleşir.
Sonuç
###