Sonarqube 구성
DevOps Insights 2026년 8월 31일에 서비스 종료되어 중단될 예정입니다. Continuous Delivery 은 2027년 2월 12일에 au-syd, ca-mon, ca-tor, us-east 지역에서 중단될 예정입니다. 또한 해당 날짜를 기점으로 Code Risk Analyzer는 모든 지역에서 서비스가 중단될 예정입니다. 특정 지역에서 해당 기능을 실제로 사용하지 않는 경우, 해당 지역의 기능은 예정보다 일찍 중단될 수 있으며 새로운 인스턴스 등록이 더 이상 허용되지 않을 수 있습니다. 자세히 알아보기
SonarQube에서는 소스 코드의 전체 상태와 품질의 개요을 제공하고 새 코드에서 발견된 문제를 강조표시합니다. 코드 분석기는 20개가 넘는 코딩 언어의 널-포인터 참조 해제, 논리 오류 및 리소스 유출과 같은 까다로운 버그를 발견합니다.
소스 코드의 품질을 지속적으로 분석하고 측정하도록 SonarQube를 구성하십시오.
-
콘솔에서 IBM Cloud 메뉴 아이콘(
) > 플랫폼 자동화 > 툴체인스를 클릭합니다. 도구 체인 페이지에서 도구 체인을 클릭하여 해당 개요 페이지를 여십시오.
a. 도구 추가를 클릭하십시오.
b. 도구 통합 섹션에서 SonarQube을 클릭하십시오.
-
SonarQube 도구 통합의 이 인스턴스에 대한 이름을 입력하십시오.
-
도구 체인에서 SonarQube 카드를 클릭할 때 열리는 SonarQube 인스턴스의 URL을 입력합니다.
-
선택사항: SonarQube 서버에 연결하는 데 사용할 사용자 이름을 입력하십시오.
SonarQube 서버에 연결하기 위해 비밀번호를 사용하는 경우에만 사용자 이름을 지정해야 합니다. 인증 토큰을 사용하여 연결하는 경우 이 필드를 공백으로 두십시오.
-
SonarQube 서버에 연결하는 데 사용할 비밀번호나 인증 토큰을 입력하십시오.
-
서버를 공용 인터넷에 배치할 수 없는 경우 고급을 선택하십시오. IBM Cloud에서는 사용자가 제공하는 연결 세부사항의 유효성을 검증할 수 없으며 이 서버에 대한 API 액세스를 필요로 하는 특정 기능은 사용 불가능합니다. 딜리버리 파이프라인은 이 서버에 대한 네트워크 액세스가 있는 개인용 작업자를 사용하는 경우에만 작동합니다.
-
통합 작성을 클릭하십시오.
-
도구 체인의 개요 페이지에 있는 써드파티 도구 카드에서, SonarQube를 클릭하여 연결되어 있는 SonarQube 인스턴스의 대시보드를 확인하십시오.
지속적 통합 파이프라인에 Sonarqube 추가
기본 SonarQube 인스턴스
사용자 소유의 SonarQube 인스턴스가 없는 경우 파이프라인은 파이프라인 실행 중에 SonarQube 인스턴스를 작성합니다. static-scan 스테이지가 실행된 후에 이 인스턴스에 액세스할 수 있습니다.
기존 SonarQube 인스턴스
고유의 SonarQube 인스턴스를 기존 파이프라인에 추가하려면 도구 체인에 도구 통합을 추가한 후 Sonarqube 도구 통합 매개변수를 파이프라인에 추가하십시오.
필수 매개변수
SonarQube 스캔을 실행하려면 파이프라인에 다음과 같은 지속적 통합 매개변수가 필요합니다.
| 이름 | 유형 | 설명 | 필수 또는 선택사항 |
|---|---|---|---|
| cluster-name | 텍스트 | Docker 빌드 클러스터의 이름입니다. | 필수 |
| dev-region | 텍스트 | 클러스터를 호스팅하는 IBM Cloud 지역입니다. | 필수 |
| opt-in-sonar | 텍스트 | sonarQube 스캔을 사용으로 설정하는 옵션입니다. | 필수 |
| sonarqube | 도구 통합 | Sonarqube 도구 통합입니다. | 선택사항 |
파이프라인 매개변수에 관한 자세한 정보는 파이프라인 매개변수를 참조하십시오.
파이프라인에 여러 SonarQube 도구 통합을 추가하는 경우, 도구 통합 매개변수인 sonarqube 파이프라인 매개변수의 값을 변경하여 이러한 통합 간에 전환할 수 있습니다.
품질 게이트 업데이트
파이프라인이 작성한 SonarQube 인스턴스를 사용하는 경우 기본 품질 게이트를 업데이트할 수 있습니다.
-
static-scan태스크의 파이프라인 로그에서 URL로 작성된 SonarQube 대시보드로 이동하십시오.
SonarQube 대시보드 -
'품질 게이트 ' > '만들기'를 클릭합니다.
-
다음 옵션 중 하나를 사용하여 품질 게이트를 설정하십시오.
- 기본값으로 설정을 클릭하여 새로 작성된 품질 게이트를 기본값으로 설정하십시오.
- 대시보드에서 프로젝트를 선택한 다음, ‘프로젝트 설정’ > ‘품질 게이트’를 클릭하여 해당 프로젝트에 새로 생성된 품질 게이트를 적용하세요.
-
프로젝트와 연관시킬 품질 게이트를 지정하십시오. 새 스캔은 이 품질 게이트를 통해 평가되고 증거는 품질 게이트의 결과로 작성됩니다.
SonarQube, 에 대해 자세히 알아보려면 SonarQube 문서에서 확인하시기 바랍니다.
고유의 구성 파일 사용
고유의 SonarQube 인스턴스를 사용하지 않고 기본 구성을 수정할 수 있습니다. 구성 파일을 작성할 저장소에서 sonar-project.properties 파일을 작성하십시오. 스크립트가 저장소에서 기존 configuration sonar-project.properties 파일을 발견하면 기본 파일 대신 해당 파일을 사용합니다. 구성 파일에서 사용할 수 있는 분석 매개변수에
대한 자세한 내용은 여기의 ‘분석 매개변수’를 참조하십시오.
올바른 로그인 인증 정보 및 호스트 URL을 구성 파일에 추가해야 합니다.
다른 정적 스캔 구현 사용
고유의 정적 스캔 구현을 사용하도록 .pipeline-config.yaml 파일을 수정하여 static-scan 스테이지에 고유의 사용자 정의 스크립트를 추가할 수 있습니다.
API를 사용하여 SonarQube 구성하기
도구 SonarQube 통합은 도구 통합을 생성, 읽기 및 업데이트할 때 Toolchain HTTP API 및 SDK와 함께 사용할 수 있는 다음 구성 매개변수를 지원합니다.
sonarqube 값을 사용하여 요청 본문에서 tool_type_id 특성을 지정해야 합니다.
| 매개변수 | 사용량 | 유형 | Terraform 인수 | 설명 |
|---|---|---|---|---|
| 연결 설정 해제 | 선택 사항, 업데이트 가능, Default: false |
부울 | 연결 설정 해제 | 이 통합의 구성 유효성 검증을 무시하도록 Continuous Delivery 에 지시하려면 true 로 설정하십시오. 또한 공용 인터넷에서 SonarQube 서버를 주소 지정할 수 없는 경우 true 로 설정합니다. |
| dashboard_url | 필수, 갱신 가능 | 문자열 | Server_url | 이 도구 통합을 위한 서버 URLSonarQube 대시보드의 그래픽 UI에서 도구 통합 SonarQube 카드를 클릭하면 브라우저가 이 대시보드로 이동합니다. |
| 이름 | 필수, 갱신 가능 | 문자열 | 이름 | 이 도구 통합의 이름입니다. |
| 사용자 로그인 | 선택적, 갱신 가능 | 문자열 | 사용자 로그인 | SonarQube 서버에서 인증하기 위한 사용자 ID입니다. |
| user_password | 선택적, 갱신 가능 | 비밀번호 | user_password | SonarQube 서버에서 인증할 비밀번호 또는 토큰입니다. 이 매개변수에 대해 도구 체인 시크릿 참조를 사용할 수 있습니다. 시크릿 참조에 대한 자세한 정보는 Continuous Delivery에서 민감한 데이터 보호 를 참조하십시오. |