Sonar Qube dan Sonar Scanner
Last updated
Last updated
Sonar qube merupakan software untuk memeriksa coverage dari unit testing, bug dan duplikasi code dari suatu aplikasi (Golang/Java/dsb). Untuk bisa pass di Sonar Quba coverage unit testing perlu di atas 80 % dan duplikasi harus dibawah 8%.
Sonar scanner digunakan untuk bisa menjalankan token yang diperoleh dari sonar qube di terminal bash (git bash/etc) untuk Windows OS. Cara instalasinya yaitu:
Download file sonar scanner ZIP pada link berikut https://docs.sonarqube.org/latest/analyzing-source-code/scanners/sonarscanner/
Ekstrak file ZIP tersebut dan letakkan pada suatu folder.
Tambahkan file tersebut pada path di system variabel di system environment variabel. Untuk Windows OS dapat dengan mengikuti cara berikut.
Cek di terminal dengan command berikut untuk memastikan sonar-scanner sudah terinstall.
Instalasi sonar qube di docker dekstop dapat dilakukan dengan menjalankan command berikut di CMD/bash/powershell. Pastikan sebelum command tersebut dijalankan, docker sudah berjalan.
Jika menggunakan docker dektop, bisa langsung search sonar qube. Setelah itu klik pull, setelah proses instalasi selesai, sonar qube akan otomatis ada di tab images docker dekstop.
Klik tombol run di sebelah kanan images.
Klik drop down optional settings dan set sonarqube dengan alamat port yaitu 9000. Selanjutnya klik run dan cek tab containers. Tunggu beberapa saat sampai sonar qube benar-benar sudah berjalan.
Setelah itu, cek localhost:9000 maka akan muncul tampilan berikut. Masukkan username dan password. Untuk pertama kali login user dan password-nya sama yaitu 'admin'. Selanjutnya klik log in.
Untuk membuat project baru klik create project secara manual.
Pilih locally, untuk memiliki aplikasi di local computer yang ingin di cek coverage test-nya.
Ikuti langkah 1 dan 2 pada gambar berikut, pastikan pilih sesuai bahasa pemrograman dan OS yang digunakan. Setelah itu salin token yang diperoleh.
Buat sonnar-project.properties di dalam folder aplikasi Golang. File sonar-project.properties dapat seperti contoh berikut. Nama sonar.projectKey dan sonar.projectName harus sesuai dengan yang diisi di langkah 3.
Jalankan token yang diperoleh pada langkah 3 di folder aplikasi golang yang ingin di cek coverage test-nya.
Setelah command dari sonnar qube telah selesai dijalankan, tab overview di sonar qube akan otomatis berubah seperti di bawah ini.
Scroll ke bawah dan klik bagian angka di samping tanda %, maka akan diarahkan ke hamalan measurement coverage unit test masing-masing file.
Reference: