SQ Official Doc Link: https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
By SonarSource – GNU LGPL 3 – Issue Tracker – Sources SonarQube Scanner for Jenkins 2.6.1 |
Table of Contents
기능
이 플러그인을 사용하면 Jenkins 글로벌 환경 설정에서 SonarQube 서버 환경을 설정할 수 있습니다.
이후 표준 Jenkins Build Step으로 SonarQube 분석을 다음 Scanner로 수행할 수 있습니다:
Jenkins의 job이 완료되면, 이 플러그인 SoanrQube 분석 여부를 식별하고 job 페이지에 SonarQube 배지를 표시합니다. 해당 배지를 클릭하면 SonarQube 대시보드로 이동해 quality gate 상태를 확인할 수 있습니다.
SINCE 2.5 : Jenkins Pipeline DSL 도 사용할 수 있습니다(일부 기능은 SonarQube v6.2 이상에서만 동작합니다).
호환성 매트릭스
SonarQube Scanner for Jenkins | 2.1 | 2.2.1 | 2.3 | 2.4 | 2.5 - 2.6 |
---|---|---|---|---|---|
Jenkins | 1.491+ | 1.580.1+ | 1.587+ | 1.587+ | 1.651+ |
SINCE 2.5 JRE8 이상을 사용하여 분석해야 합니다
설치하기
- Jenkins 업데이트 센터에서 SonarQube Scanner for Jenkins 플러그인을 설치합니다.
- SonarQube 서버를 아래와 같이 설치합니다:
- 관리자로 로그인 후 Manage Jenkins > Configure System 항목으로 이동합니다.
- SonarQube configuration 섹션에서 Add SonarQube를 클릭한 후, 필요한 설정값을 입력합니다.
사용하기
SonarQube 스캐너로 분석하기
Global Configuration
SonarQube Scanner를 사용해 SonarQube 분석을 수행하려면, 이 단계를 반드시 수행해야 합니다. 원하는 만큼의 스캐너를 설정한 뒤, 개별 Jenkins job에서 원하는 런처를 선택해 SonarQube 분석을 수행할 수 있습니다:
- Jenkins에 administrator 계정으로 로그인 한 뒤, Manage Jenkins > Global Tool Configuration 페이지로 이동합니다.
- SonarQube Scanner 설정 영역으로 이동한 뒤, Add SonarQube Scanner를 클릭합니다. 기본적으로 Jenkins 도구를 자동설치하도록 설정되어 있습니다. 이미 설치한 Scanner를 선택하거나('Install automatically' 체크 박스 해제) Jenkins가 특정 버전을 설치하도록 할 수 있습니다('Install automatically' 체크 박스 선택).
Jenkins가 업데이트 센터 파일을 다운로드하지 않은 경우(기본적으로 1일에 1회 다운로드)에는 사용 가능한 SonarQube Scanner 버전을 리스트에서 확인할 수 없을 수 있습니다. Manage Plugins > Advanced 탭에서 'Check Now' 버튼을 클릭해 강제로 업데이트 센터 파일을 다운로드 할 수 있습니다.
Job Configuration
- Job > Configure > Build 섹션으로 이동합니다.
- 빌드 스텝에 SonarQube Scanner를 추가합니다.
- SonarQube 분석 파라미터를 설정합니다. 기존
sonar-project.properties
파일을 지정하거나, Analysis properties 필드에 분석 파라미터를 직접 입력할 수 있습니다.
SonarQube Scanner for MSBuild로 분석하기
Global Configuration
SonarQube Scanner for MSBuild를 사용해 SonarQube 분석을 수행하려면, 이 단계를 반드시 수행해야 합니다. 원하는 만큼의 스캐너를 설정한 뒤, 개별 Jenkins job에서 원하는 런처를 선택해 SonarQube 분석을 수행할 수 있습니다.
Jenkins에 administrator 계정으로 로그인 한 뒤, Manage Jenkins > Global Tool Configuration 페이지로 이동합니다.
Add SonarQube Scanner for MSBuild를 클릭합니다.
사용 가능한 설치 버전을 추가삽니다. Install automatically에 체크하면 Jenkins executor가 SonarQube Scanner for MSBuild의 해당 버전을 다운로드 합니다. Install from GitHub에서 사용가능한 버전을 확인할 수 없는 경우, Manage Jenkins > Manage Plugins > Advanced로 이동해 Check now를 먼저 클릭하십시오.
Job Configuration
- Job > Configure > Build 섹션으로 이동합니다.
- 빌드 스텝에 SonarQube for MSBuild - Begin Analysis 및 SonarQube for MSBuild - End Analysis를 추가합니다.
- SonarQube Scanner for MSBuild - Begin Analysis 스텝에서 SonarQube Project Key, Name 및 Version 정보를 입력합니다.
Begin Analysis와 End Analysis 사이에서 MSBuild 스텝 혹은 MSBuild 14(호환성 참조)의 경우 Execute Windows batch command 스텝을 사용해 분석을 수행할 수 있습니다.
SonarQube Scanner for Maven으로 분석하기
Global Configuration
- Jenkins에 administrator 계정으로 로그인 한 뒤, Manage Jenkins > Configure System 페이지로 이동합니다.
- SonarQube servers 섹션에서 Enable injection of SonarQue server configuration as build environment variables 항목에 체크합니다
Job Configuration
- Job > Configure > Build Environment 섹션으로 이동합니다.
Prepare SonarQube Scanner environment 옵션을 활성화해서 SonarQube 서버의 환경 변수를 해당 Job에서 활용할 수 있도록 합니다. 복수의 SonarQube 인스턴스를 사용하는 경우, 사용할 인스턴스를 직접 지정할 수 있습니다.
사용 가능한 환경변수를 확인하려면 help 버튼을 클릭합니다. SonarQube 서버 설정에 따라 일부 환경 변수는 빈 값을 가지고 있을 수 있습니다.
환경 변수를 사용할 수 있다면 아래와 같이 Maven goal 설정 인자로 활용할 수 있습니다:
$SONAR_MAVEN_GOAL -Dsonar.host.url=$SONAR_HOST_URL
Post-build Action for Maven analysis 옵션을 사용할 수 있지만, 해당 기능에 대한 지원은 더이상 이루어지지 않습니다.
0 Comments