diff --git a/docs/workshops/day_1_sqa.md b/docs/workshops/day_1_sqa.md index dbcd67d26c59a431f7b4ee94fd2c9e4ba7362511..fb868753bcb280f30529e53cf136f6c357c8e1e8 100644 --- a/docs/workshops/day_1_sqa.md +++ b/docs/workshops/day_1_sqa.md @@ -699,7 +699,32 @@ Mari mencoba untuk membuat proyek analisis baru yang akan menampung analisis Son Selanjutnya, anda perlu memperbaharui konfigurasi Maven dan _pipeline CI/CD_ agar bisa membuat analisis SonarScanner dilakukan dengan benar di lingkungan CI: 1. Buka `pom.xml` kode proyek Sitodo PMPL, lalu ubah nilai _property_ `sonar.projectKey` dengan "Project Key" anda. -2. Buka konfigurasi variabel CI/CD di laman proyek _fork_ Sitodo PMPL dan tambahkan dua variabel baru bernama `SONAR_TOKEN` dan `SONAR_HOST_URL`. +2. Buka `.gitlab-ci.yml` kode proyek Sitodo PMPL, lalu ubah `rules:` pada _job_ CI `sonarqube-check` agar _job_ tersebut + akan berjalan ketika ada _commit_ baru yang di-_push_ ke _branch_ `workshop`. + Versi final konfigurasi `sonarqube-check` dapat dilihat di potongan kode berikut: + ```yaml + sonarqube-check: + stage: report + image: docker.io/library/maven:3.9.5-eclipse-temurin-17-focal + variables: + SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar" + GIT_DEPTH: "0" + rules: + # Jalankan SonarScanner pada commit-commit baru yang di-push ke branch workshop ataupun branch utama + # Namun sebaiknya, hanya salah satu branch saja. Jangan dua-duanya. + - if: $CI_COMMIT_BRANCH == 'workshop' + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + script: + - mvn -P sonar sonar:sonar + cache: + key: "${CI_JOB_NAME}" + paths: + - .sonar/cache + dependencies: + - build + - test + ``` +3. Buka konfigurasi variabel CI/CD di laman proyek _fork_ Sitodo PMPL dan tambahkan dua variabel baru bernama `SONAR_TOKEN` dan `SONAR_HOST_URL`. Laman konfigurasi variabel CI/CD dapat diakses di URL: `https://gitlab.cs.ui.ac.id/[akun GitLab CSUI anda]/sitodo-pmpl/-/settings/ci_cd` Isi `SONAR_TOKEN` dengan token yang dibuat sebelumnya, lalu isi `SONAR_HOST` dengan alamat SonarQube CSUI (`https://sonarqube.cs.ui.ac.id`).