Salah satu tools yang banyak digunakan untuk analisa kualitas dari code yang dibuat adalah dengan menggunakan SonarQube. Untuk banyak orang SonarQube versi gratis sudah cukup, tetapi sangat disarankan untuk menggunakan SonarQube versi berbayar, karena lebih banyak fitur dan tidak terbatas hanya pada 1 branch.

Beberapa fitur dari SonarQube:
– Release Quality Code
– Application Security
– Technical Debt

Untuk mendapatkan hasil maksimal, minimal kebutuhan server SonarQube

4 GB Memory
40 GB SSD
2 CPU

spesifikasi tersebut telah digunakan oleh 30 Developer dan 100 lebih repository tanpa ada kendala yang berarti.

Update System

Sudah menjadi standar kalo update system itu harus sering-sering dilakukan, untuk mendapatkan paket terbaru dari aplikasi yang di install di sistem anda. Disini kita akan update dan install paket-paket terbaru yang tersedia untuk Ubuntu 20.04

sudo apt update
sudo apt upgrade -y

Install Dependency

Install dependency yang dibutuhkan untuk memuluskan proses instalasi SonarQube di Ubuntu

sudo apt install wget unzip curl gnupg2 ca-certificates lsb-release -y

Install Java JRE

Java JRE dibutuhkan untuk menjalankan SonarQube dan Elasticsearch, saat ini Java yang didukung adalah Java 11, jangan menginstall diatas versi 11 karena ada banyak masalah.

sudo apt install openjdk-11-jre -y

Install PostgreSQL Database

Sebagai database kita akan menggunakan PostgreSQL yang didukung oleh SonarQube, saat ini versi yang tersedia di Ubuntu 20.04 masih di support.

sudo apt install postgresql -y

Buat user untuk Sonarqube

# login ke database postgres
sudo -u postgres psql 
# Buat user sonarqube
create user sonarqube;
# Set password user sonarqube
ALTER USER sonarqube WITH ENCRYPTED password 'HkxnfkaakmLihgmkRvj7';
# buat database sonarqube yang dimiliki oleh user sonarqube
CREATE DATABASE sonarqube OWNER sonarqube;

ganti HkxnfkaakmLihgmkRvj7 dengan password random.

postgres create role

Download SonarQube 8.8

Download versi terbaru SonarQube dari situs resminya

wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.8.0.42792.zip

Ekstrak Sonarqube

sudo unzip sonarqube-8.8.0.42792.zip -d /opt/

Ubah nama folder sonarqube-8.8.0.42792

sudo mv /opt/sonarqube-8.8.0.42792 /opt/sonarqube

Update konfigurasi Sonarqube di file /opt/sonarqube/conf/sonar.properties

sonar.jdbc.username=sonarqube
sonar.jdbc.password=HkxnfkaakmLihgmkRvj7
sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube

Buat User sonar

Untuk menjalankan sonarqube, akan dibuatkan satu user khusus.
buat group sonar

sudo groupadd sonar

buat user sonar

sudo useradd -d /opt/sonarqube/ -g sonar sonar

Ubah permission /opt/sonarqube agar bisa diakses oleh user sonar

sudo chown sonar:sonar -R /opt/sonarqube

Update vm.max_map_count

Update nilai vm.max_map_count di server anda, ini dibutuhkan untuk menjalankan Elasticsearch yang sudah di bundle dengan SonarQube.

echo "vm.max_map_count = 262144" | sudo tee -a /etc/sysctl.conf
# update sysctl
sudo sysctl --system

Jalankan Sonarqube

Jalankan SonarQube dengan perintah

sudo -u sonar /opt/sonarqube/bin/linux-x86-64/sonar.sh start

jalankan sonarqube

Konfigurasi default SonarQube hanya bisa diakses dari localhost dengan port 9000, agar dapat diakses dari luar (public IP/LAN), ubah

#sonar.web.host=0.0.0.0

menjadi

sonar.web.host=0.0.0.0

lalu restart SonarQube

sudo -u sonar /opt/sonarqube/bin/linux-x86-64/sonar.sh restart

sekarang SonarQube sudah bisa diakses dari http://IP-SERVER:9000
Login dengan

username = admin
password = admin

sonarqube 8.8 on Ubuntu

Leave a comment

Your email address will not be published. Required fields are marked *