Integrasi Maven dan Sonarqube menggunakan Docker

Fascal Sapty Jarockohir
DOKU Insight
Published in
May 21, 2019

Pengenalan

Maven, Automation Build Tool untuk Java Projects, konsep maven adalah setiap konfigurasi dari project disimpan dalam file pom.xml.

Sonarqube, Platform open-source yang dibangun oleh Sonarsource untuk proses inspeksi kualitas code yang kita kerjakan.

Docker, Wadah untuk memasukan environtment yang diperlukan oleh Software yang kita bangun.

Implementasi

  1. Tambahkan jacoco reporting tools, dengan menambahkan sintaks sebagai berikut :
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.3</version>
<configuration>
<destFile>${basedir}/target/coverage-reports/jacoco-unit.exec</destFile>
<dataFile>${basedir}/target/coverage-reports/jacoco-unit.exec</dataFile>
<output>file</output>
<append>true</append>
<excludes>
<exclude>*MethodAccess</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>jacoco-initialize</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<phase>test-compile</phase>
</execution>
<execution>
<id>jacoco-site</id>
<phase>verify</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
  1. Pull Image, Ketikan “docker pull sonarqube” untuk mengunduh image dari dockerhub.
Image sonarqube

2. Run Image, Ketikan “docker run -d --name sonarqube -p 9000:9000 sonarqube” untuk menjalankan image. Setelah itu untuk melihat apakah sonarqube sudah berjalan ketikan perinah “docker ps”.

Container sonarqube

Kemudian akses localhost:9000 untuk mengecek di web bahwa sonarqube sudah bisa digunakan.

Sonarqube

3. Lakukan proses scan project mengetikan “mvn sonar:sonar -Dsonar.host.url=http://localhost:9000”. Kemudian akses kembali http://localhost:9000 dan pilih project yang kita scan maka akan terlihat kualitas code yang kita tulis sebagai berikut :

Hasil Scan Sonarqube

--

--