SonarQube Nedir ?
SonarQube, 29 programlama dilindeki hataları, kod kokularını tespit etmek için statik kod analizi ile otomatik incelemeler yapmak üzere kod kalitesinin sürekli denetimi için SonarSource tarafından geliştirilen açık kaynaklı bir platformdur.
Sonarqube Ubuntu Kurulumu Nasıl Yapılır?
İlk olarak makinemize Java 11 kuruyoruz.
$ sudo apt-get install openjdk-11-jdk -y
Ardından PostgreSql kuruyoruz.
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
$ wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
$ sudo apt install postgresql postgresql-contrib -y
Postgresql servisini başlatıyoruz.
$ sudo systemctl enable postgresql
$ sudo systemctl start postgresql
User adımını yapıyoruz.
$ su - postgres
$ createuser sonar
Gerekli setlemeleri yapıyoruz.
$ psql
Database de gerekli setlemerini tamamladık. (şifre bölümünü değiştirmeyi unutmayın)
ALTER USER sonar WITH ENCRYPTED password 'birsifregiriniz'; CREATE DATABASE sonarqube OWNER sonar; GRANT ALL PRIVILEGES ON DATABASE sonarqube to sonar;
Postgresqlden çıkıyoruz.
\q
$ exit
SonarQube Kurulumuna Başlayalım
SonarQube dosyalarını açmak için gerekli olan zip yardımcı programını yükleyelim.
$ sudo apt-get install zip -y
SonarQube dağıtım dosyalarını indirelim.
$ sudo wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.6.1.59531.zip
$ sudo unzip sonarqube-9.6.1.59531.zip
$ sudo mv sonarqube-9.6.1.59531 /opt/sonarqube
SonarQube Grubu ve Kullanıcısı ekleyelim.
$ sudo groupadd sonar
$ sudo useradd -d /opt/sonarqube -g sonar sonar
$ sudo chown sonar:sonar /opt/sonarqube -R
SonarQube konfigürasyonunu yapalım.
$ sudo nano /opt/sonarqube/conf/sonar.properties
Dosya açıldıktan sonra başında ki “#” kaldıralım ve gerekli bilgileri girelim.
!! Burası kritik arkadaşlar doğru yere setlemek önemli yoksa servis çalışmıyor.
sonar.jdbc.username=sonar
sonar.jdbc.password=birşifregiriniz
Postgresql altına bu setlemeyi yapıyoruz.
sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube
Kaydedip çıkıyoruz.
Sonar script dosyasını düzenleyelim.
$ sudo nano /opt/sonarqube/bin/linux-x86-64/sonar.sh
Dosya açıldıktan sonra ” #RUN_AS_USER= ” satırını
RUN_AS_USER=sonar
şeklinde ayarlayıp kaydedip çıkıyoruz.
SonarQube’u sistem açılışında başlatmak için bir systemd hizmet dosyası oluşturalım.
$ sudo nano /etc/systemd/system/sonar.service
Açılan dosyada aşağıdaki bilgileri yapıştıralım.
[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 ektif edelim.
$ sudo systemctl enable sonar
$ sudo systemctl start sonar
Kernel sistem limitlerini değiştirelim
$ sudo nano /etc/sysctl.conf
Dosya açıldıktan sonra içerisine yapıştıralım ve çıkalım.
vm.max_map_count=262144
fs.file-max=65536
ulimit -n 65536
ulimit -u 4096
Makinemizi yeniden başlatalım.
$ sudo reboot
Artık herşey tamam SonarQube arayüzüne 9000 portundan erişim sağlayabilirsiniz.
http://xxxxxxx:9000