Integrasi Maven dan Sonarqube menggunakan Docker
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
- 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>
- Pull Image, Ketikan “docker pull sonarqube” untuk mengunduh image dari dockerhub.
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”.
Kemudian akses localhost:9000 untuk mengecek di web bahwa sonarqube sudah bisa digunakan.
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 :