Skip to main content

Sonarqube

Documentation for sonarqube

Cara untuk mendaftarkan repo ke sonarqube internal IMP

  1. kunjungi url sonarqube IMP : https://sonarqube.internal.impstudio.id/ login_page_sonarqube

  2. kemudian login menggunakan akun gitlab anda

  3. Setelah berhasil login, klik tombol Create Project -> Gitlab untuk membuat project

    tombol_create_project

  4. 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

    list_gitlab_project_on_sonarqube

  5. setelah klik tombol setup, kita diarahkan ke halaman ini:

    choose_gitlab_integration

    kemudian klik gambar gitlab

  6. setelah kita klik gambar gitlab, maka kita akan diarahkan pada halaman pengaturan untuk memasukkan konfigurasi sonarqube kedalam repo kita, klik copy.

    copy_config_sonarqube_properties

  1. buat file sonar-project.properties pada repo dan letakkan di root aplikasi, dan paste code konfig sonarqube ke dalam file tesebut: paste_config_sonarqube_properties

  2. Selanjutnya kita kembali lagi ke halaman web sonarqube, dan klik continue

    klik_tombol_continue

  3. Selanjutnya kita, akan dihadapkan pada halaman ini:

    generate_token_for_gitlab_variable

    lakukan generate token dan copy sonarqube url untuk dimasukkan kedalam env variable dari repository anda

  4. ketika klik generate token maka akan ditampilkan dialog box seperti ini:

    genrate_project_token_variable

    kemudian klik tombol generate, maka akan ditampilkan token baru, copy token tersebut untuk kita masukkan kedalam environment variable dari repo gitlab anda.

    copy_token_project

  5. Kemudian kita kembali lagi kedalam halaman repo kita, kemudian pada menu di sebelah kira kita pilih Settings -> CI/CD -> tab variables

    tab_env_variables_repo_gitlab

  6. Kemudian kita klik tombol Add variable untuk mengisi env variable SONAR_TOKEN, seperti gambar berikut:

    add_variable_sonar_token

    untuk nilai visibility di-set Masked untuk Flags un-check Protect variable

  7. Kemudian kita klik tombol Add variable untuk membuat env variable SONAR_HOST_URL, seperti gambar berikut:

    add_sonar_host_url

    untuk nilai visibility di-set Masked untuk Flags un-check Protect variable

  8. Selanjutnya kita kembali lagi ke halaman web sonarqube, kita klik tombol continue tombol_continue_to_config_gitlab_ci

  9. Maka akan tampil halaman berikut: copy_config_sonarqube_for_gitlab_ci

    copy-kan config sonarqube ke dalam file .gitlab-ci.yml yang ada di dalam repo kita. dan tambahkan merge_requests pada bagian only, 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 ini

    letakkan di bagian bawah file .gitlab-ci.yml pada repo kita:

    paste_config_sonarqube_to_gitlab_ci

    dan selanjutnya klik tombol commit changes, dan pipeline akan dijalankan.

  10. Kemudian kita kembali lagi ke halaman web sonarqube kita, dan kita klik tombol finish this tuorial (jika belum di klik) yang tedapat pada poin 21

  11. setelah di klik maka tampilan halaman akan seperti ini, menunggu pipeline di gitlab selesai:

    setelah_klik_finish_tutorial

  12. jika kemudian tampil halaman seperti ini, maka artinya kita sudah berhasil melakukan koneksi repo kita dengan sonarqube, selamat ! 🥳 sonarqube_berhasil_terkoneksi