[SonarQube] 코드 품질 분석 Gitlab CI 스크립트로 자동화 하기 (feat. DevOps)
2024. 11. 22. 17:15ㆍIT
반응형
1. Gitlab 설정
Gitlab 러너 설정
Setting → CI/CD → Runner → sonarqube-test tag 달린 러너 Enable for this project 로 활성화
Setting → CI/CD → Variables → Add variables
2. sonar-project.properties / .gitlab-ci.yml 머지
프로젝트 루트에 해당 2개 파일 머지
3. .gitlab-ci.yml 스크립트 적용
스크립트 (기본값이며 환경에 따라 커스텀 가능)
# stages:
# - sonarqube_analysis # 파이프라인 스테이지 사용하는 경우 주석 해제
sonarqube-check:
# stage: sonarqube_analysis # 스테이지를 사용하는 경우 주석 해제 후 사용
tags:
- sonarqube-test # sonarqube-test 태그 달린 러너 실행용
image:
name: sonarsource/sonar-scanner-cli:latest
entrypoint: [""]
variables:
SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar" # 캐시 위치
GIT_DEPTH: "0" # 모든 브랜치를 가져옴
cache:
key: "${CI_JOB_NAME}"
paths:
- .sonar/cache
script:
- rm -rf ${CI_PROJECT_DIR}/.sonar
- sonar-scanner
allow_failure: true
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "release"'
4. 실제 실행 결과 확인
소나큐브 파이프라인이 돌면 아래와 같이 목록에서 볼 수 있다.
Jobs 에서 작업 내용을 보면 아래와 같이 분석 진행 화면을 볼 수 있다.
아래 그림 처럼 Job succeeded 가 아닌, Job failed 로 떠도 정상이며, 소나큐브의 Quality gate 를 통과하지 못해서 발생하는 오류이다.
반응형
'IT' 카테고리의 다른 글
[가이드] 윈도우11 USB 설치 디스크 만들기 (feat. 이 정도는 할 줄 알아야..) (0) | 2025.01.11 |
---|---|
[애플펜슬 프로] elago(엘라고) 메탈 펜촉 후기 (feat. 추천!) (1) | 2024.12.31 |
[루머] 갤럭시S25울트라 지금까지 소문 정리 (1) | 2024.11.20 |
[리뷰] 더 뉴 그랜져 IG 2021년식 무선 안드로이드 오토 사용하기(feat. 아니오스 미니 동글) (1) | 2024.11.16 |
[SonarQube] Jira - SonarQube Connector 설정 (0) | 2024.11.13 |