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 tutorial (jika belum di klik) yang terdapat pada poin 15 di atas
-
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 ! :partying_face: