Bu rehber, SonarQube’un Ubuntu üzerinde nasıl kurulacağını adım adım açıklamaktadır.
SonarQube, yazılım geliştirme süreçlerinde kod kalitesini analiz eden ve iyileştiren bir araçtır. Geliştiricilerin kodlarını analiz ederek hataları, güvenlik açıklarını ve performans sorunlarını tespit etmelerine yardımcı olur. Ayrıca, kod standartlarına uyumu kontrol ederek sürekli entegrasyon ve sürekli dağıtım (CI/CD) süreçlerine entegre edilebilir. SonarQube, çeşitli programlama dillerini destekler ve kullanıcı dostu bir arayüze sahip olması sayesinde ekiplerin daha verimli çalışmasını sağlar. Kod kalitesini artırarak yazılım projelerinin sürdürülebilirliğini ve güvenilirliğini artırmayı amaçlar.
1. Sistem Güncellemeleri
Öncelikle, sisteminizi güncelleyerek başlayın:
apt-get update -y && apt-get upgrade -y
2. Hostname ve Hosts Dosyasını Düzenleme
Hostname’i ayarlayın ve hosts dosyasına ekleme yapın:
hostnamectl set-hostname sonarqube.homelab
nano /etc/hosts
Aşağıdaki satırı ekleyin:
192.168.88.131 sonarqube.homelab sonarqube
3. Ön Gereksinimler
/etc/sysctl.conf
dosyasını düzenleyin ve aşağıdaki ayarları ekleyin:
nano /etc/sysctl.conf
Aşağıdaki satırları ekleyin veya düzenleyin:
vm.max_map_count=524288
fs.file-max=131072
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
Ayarları uygulamak için şu komutu çalıştırın:
sysctl -p
4. Limits Ayarları
Sistem limitlerini ayarlamak için limits.conf
dosyasını düzenleyin:
sudo nano /etc/security/limits.conf
Aşağıdaki satırları ekleyin:
sonar - nofile 65536
sonar - nproc 4096
5. Gerekli Paketlerin Kurulumu
Wget, unzip ve Java’yı kurun:
sudo apt-get install wget unzip -y
sudo apt-get install openjdk-17-jdk -y
sudo apt-get install openjdk-17-jre -y
6. PostgreSQL Kurulumu
PostgreSQL’i kurun ve başlatın:
sudo apt-get -y install postgresql postgresql-contrib
sudo systemctl start postgresql
sudo systemctl enable postgresql
PostgreSQL için şifre belirleyin:
passwd postgres
PostgreSQL kullanıcı alanına geçiş yapın:
su - postgres
Yeni bir kullanıcı oluşturun:
createuser sonar
PostgreSQL kabuğuna geçin:
psql
SonarQube veritabanı için yeni kullanıcıya şifre verin:
ALTER USER sonar WITH ENCRYPTED PASSWORD 'sonar';
Yeni bir veritabanı oluşturun:
CREATE DATABASE sonarqube OWNER sonar;
Kullanıcıya veritabanı üzerinde tüm ayrıcalıkları verin:
GRANT ALL PRIVILEGES ON DATABASE sonarqube TO sonar;
PostgreSQL kabuğundan çıkın:
q
Kullanıcı alanına geri dönmek için:
exit
7. SonarQube Binaries Kurulumu
SonarQube ikili dosyalarını indirin ve kurun:
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.9.1.69595.zip
sudo unzip sonarqube-9.9.1.69595.zip -d /opt
sudo mv /opt/sonarqube-9.9.1.69595 /opt/sonarqube
8. Kullanıcı ve Grup Oluşturma
SonarQube’u çalıştıracak kullanıcı ve grup oluşturun:
sudo groupadd sonar
sudo useradd -c "user to run SonarQube" -d /opt/sonarqube -g sonar sonar
sudo chown sonar:sonar /opt/sonarqube -R
SonarQube konfigürasyon dosyasını düzenleyin:
sudo nano /opt/sonarqube/conf/sonar.properties
Aşağıdaki satırları ekleyin veya düzenleyin:
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube
SonarQube başlangıç dosyasını düzenleyin:
sudo nano /opt/sonarqube/bin/linux-x86-64/sonar.sh
RUN_AS_USER
satırını aşağıdaki şekilde değiştirin:
RUN_AS_USER=sonar
9. SonarQube Logları
SonarQube loglarını kontrol etmek için:
tail /opt/sonarqube/logs/sonar.log
10. Systemd Servisi Yapılandırma
SonarQube servisini ayarlamak için bir servis dosyası oluşturun:
sudo nano /etc/systemd/system/sonar.service
Aşağıdaki içerikleri ekleyin:
[Unit]
Description=SonarQube service
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop
User=sonar
Group=sonar
Restart=always
LimitNOFILE=65536
LimitNPROC=4096
[Install]
WantedBy=multi-user.target
SonarQube servisini başlatın ve otomatik başlatma ayarı yapın:
sudo systemctl start sonar
sudo systemctl enable sonar
sudo systemctl status sonar
11. Erişim
SonarQube web arayüzüne erişim sağlamak için konfigürasyon dosyasını tekrar düzenleyin:
sudo nano /opt/sonarqube/conf/sonar.properties
Aşağıdaki satırı ekleyin veya düzenleyin:
sonar.web.port=9000
SonarQube kurulumunuz tamamlandı. Artık web tarayıcınız üzerinden http://sonarqube.homelab:9000
adresine giderek SonarQube arayüzüne erişebilirsiniz.