Skip to main content

Command Palette

Search for a command to run...

Cách thiết lập SonarCloud cho một Gitlab repository

Updated
2 min read

Hello! I'm Zu.Doan

Series này mình muốn note lại những nội dung xoay quanh việc thiết lập, sử dụng SonarCloud để kiểm tra chất lượng code trong các dự án.

Important:

  • Do mình làm demo và sử dụng SonarClound free để làm ví dụ do đó các Group, repository trên Gitlab mình sẽ để là public
  • Trong thực tế các bạn nên sử dụng SonarCloud (Analyze private project) và make sure Gitlab group, repository là private nhé.

1. Tạo một Group chứa các project trong dự án của bạn trên Gitlab

Chúng ta làm theo các bước sau:

gl1.jpg

gl2.png

Sau đó các bạn tạo Project nằm trong Group vừa tạo ở trên, và nhớ là chúng ta vẫn để Project là public nhé.

2. Tạo Personal access token để thiết lập cho SonarCloud có quyền truy cập vào Gitlab của chúng ta

gl3.jpg

gl4.jpg

gl5.png

3. Tạo một tổ chức (organization) trong SonarCloud để liên kết tới Gitlab

gl6.png

gl7.png

gl8.png

gl9.png

4. Thiết lập liên kết giữa SonarCloud và Gitlab repository

gl10.png

gl11.png

gl12.png

gl13.png

gl14.png

gl15.png

gl16.png

gl17.png

gl18.png

Có 2 việc chính trong phần này:

  • Tạo file sonar-project.properties nằm trong root project
  • Đưa được nội dung sau vào file .gitlab-ci.yaml nằm trong root project
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
sonarcloud-check:
  image:
    name: sonarsource/sonar-scanner-cli:latest
    entrypoint: [""]
  cache:
    key: "${CI_JOB_NAME}"
    paths:
      - .sonar/cache
  script:
    - sonar-scanner
  only:
    - merge_requests
    - master
    - develop

Để biết làm sao cho đoạn code trên hoạt động, các bạn hãy tham khảo series về cách tích hợp SonarCloud vào quá trình CI/CD của Gitlab nhé:

Hi vọng bài viết này hữu ích với các bạn.

Thank everyone! Bye2 :D

45 views

SonarCloud

Part 1 of 1

More from this blog

zujs

35 posts