Sonarqube
Documentation for sonarqube
Cara untuk mendaftarkan repo ke sonarqube internal IMP
kunjungi url sonarqube IMP : https://sonarqube.internal.impstudio.id/
kemudian login menggunakan akun gitlab anda
Setelah berhasil login, klik tombol Create Project -> Gitlab untuk membuat project
Maka akan muncul list project yang ada di repo gitlab IMP Anda bisa mencari nama repo anda yang ada di gitlab, kemudian klik tombol setup
setelah klik tombol setup, kita diarahkan ke halaman ini:
kemudian klik gambar gitlab
setelah kita klik gambar gitlab, maka kita akan diarahkan pada halaman pengaturan untuk memasukkan konfigurasi sonarqube kedalam repo kita, klik copy.
buat file sonar-project.properties pada repo dan letakkan di root aplikasi, dan paste code konfig sonarqube ke dalam file tesebut:
Selanjutnya kita kembali lagi ke halaman web sonarqube, dan klik continue
Selanjutnya kita, akan dihadapkan pada halaman ini:
lakukan generate token dan copy sonarqube url untuk dimasukkan kedalam env variable dari repository anda
ketika klik generate token maka akan ditampilkan dialog box seperti ini:
kemudian klik tombol generate, maka akan ditampilkan token baru, copy token tersebut untuk kita masukkan kedalam environment variable dari repo gitlab anda.
Kemudian kita kembali lagi kedalam halaman repo kita, kemudian pada menu di sebelah kira kita pilih Settings -> CI/CD -> tab variables
Kemudian kita klik tombol Add variable untuk mengisi env variable SONAR_TOKEN, seperti gambar berikut:
untuk nilai visibility di-set Masked untuk Flags un-check Protect variable
Kemudian kita klik tombol Add variable untuk membuat env variable SONAR_HOST_URL, seperti gambar berikut:
untuk nilai visibility di-set Masked untuk Flags un-check Protect variable
Selanjutnya kita kembali lagi ke halaman web sonarqube, kita klik tombol continue
Maka akan tampil halaman berikut:
copy-kan config sonarqube ke dalam file
.gitlab-ci.yml
yang ada di dalam repo kita. dan tambahkanmerge_requests
pada bagianonly
, seperti ini:sonarqube-check:
image:
name: sonarsource/sonar-scanner-cli:latest
entrypoint: [""]
variables:
SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar" # Defines the location of the analysis task cache
GIT_DEPTH: "0" # Tells git to fetch all the branches of the project, required by the analysis task
cache:
key: "${CI_JOB_NAME}"
paths:
- .sonar/cache
script:
- sonar-scanner
allow_failure: true
only:
- develop
- merge_requests <- tambahkan iniletakkan di bagian bawah file
.gitlab-ci.yml
pada repo kita:dan selanjutnya klik tombol commit changes, dan pipeline akan dijalankan.
Kemudian kita kembali lagi ke halaman web sonarqube kita, dan kita klik tombol finish this tuorial (jika belum di klik) yang tedapat pada poin 21
setelah di klik maka tampilan halaman akan seperti ini, menunggu pipeline di gitlab selesai:
jika kemudian tampil halaman seperti ini, maka artinya kita sudah berhasil melakukan koneksi repo kita dengan sonarqube, selamat ! 🥳