Skip to Content
Suffering builds character
아카이브25.devopsSonarQube특징3.CI 파이프라인에 통합하기

3.CI 파이프라인에 통합하기

SonarQube 서버를 CI 파이프라인에 통합 하기 위한 절차는 다음과 같음

  1. 개발자는 원격 저장소의 main 브랜치에 개발한 소스 코드를 push
  2. Github의 webhook과 같은 트리거에 의해 Jenkins나 Github Action과 같은 CI 파이프라인이 발동됨

다음 3 ~ 5번은 파이프라인의 동작 과정

  1. 설정된 Github 원격 저장소를 자신의 로컬 환경에 clone함

  2. 파이프라인은 clone한 프로젝트가 컴파일이 필요한 언어일 경우, 빌드 과정을 수행함

  3. SonarScanner를 실행하여 코드 분석 단계를 실행

  4. SonarScanner는 분석 결과를 처리하기 위해 SonarQube 서버에 전달

  5. SonarQube 서버는 Quality Gate 통과 가능 여부를 결정하기 위한 처리를 수행하고, 처리 결과를 CI 파이프라인에게 응답
    → 이 단계는 필요에 따라 선택(optional)

  6. CI 파이프라인은 SonarQube를 통한 코드 분석 절차 이후 남은 코드 분석 절차와는 관련이 없는 다음 작업을 이어서 수행할지 멈출지를 결정

    8번에서 CI 파이프라인이 다음 작업을 이어서 수행할지는 보통 다음과 같이 결정함
    → Quality Gate가 통과 가능하다고 응답받은 경우 다음 작업 수행,
    Quality Gate를 통과할 수 없는 경우, 병합(merge) 중단,

    개발자는 Quality Gate가 통과 가능하도록 코드 분석 결과 보고서를 확인 후 코드를 변경하는 작업을 수행

Last updated on