이번 포스트는 프로젝트의 코드를 가시화할 수 있는 Dashboard인 SonarQube와 Jenkins의 연동 방법에 대해서 작성합니다. Jenkins와 SonarQube의 연동을 통해 Build 서버에서 Build가 수행될때마다 현재 코드의 품질 지표를 SonarCode에서 실시간으로 확인할 수 있습니다.
1. 준비사항
1.1 Jenkins 설치
아래 링크의 Jenkins 설치 가이드를 통해 Jenkins를 설치합니다.
- http://pseg.or.kr/pseg/infoinstall/4872
1.2 SonaQube 설치
아래 링크의 SonarQube 설치 가이드를 통해 SonarQube를 설치합니다.
- http://pseg.or.kr/pseg/infoinstall/3223
2. Jenkins Plugin 설치
SonarQube와 통합하기 위해 Jenkins 관리 > 플러그인 관리 메뉴를 선택합니다.
설치 가능 탭에서 SonarQube를 검색하여 체크를 하고 재시작 없이 설치하기 버튼을 클릭하여 설치를 진행합니다.
3. Jenkins와 SonarQube 연동 설정
3.1 시스템 설정
플러그인 설치가 완료되었다면, Jenkins 관리 > 시스템 설정으로 이동합니다.
3.1.1 SonarQube Runner 설정
먼저 SonarQube Runner 설정 위치로 이동합니다. SonarQube Runner는 별도의 설치 없이, 자동으로 설치를 할 수 있습니다. 아래 그림을 참고해서 아래와 같이 설정합니다.
- SonarQube Runner Name : SonarQube Runner 2.4
- Install automatically : 체크
- Install from Maven Central Version : SonarQube Runner 2.t
3.1.2 SonarQube 설정
SonarQube 설정은 아래와 같습니다. 필자의 가이드에 따라 Jenkins와 같은 서버에 설치했다면 아래와 같이 입력할 수 있습니다.
- Name : Sonar
- Server URL : http://localhost:9000 혹은 아이피:포트
- SonarQube account login : admin 기본값
- SonarQube account password : admin 기본값
- Database login : sonar 기본값
- Database password : soanr 기본값
- Version of sonar-maven-plugin : sonar:sonar pom.xml을 수정하지 않았다면
3.2 빌드 후 조치
SonarQube를 적용할 프로젝트를 선택하고 좌측의 구성 메뉴를 클릭합니다.
아래로 이동하면 빌드 후 조치 부분에서 SonarQube를 선택해 줍니다.
다음을 참고하여 자신에게 맞는 값들을 입력해 줍니다.
- JDK : Java SE Development Kit 8
- MAVEN_OPS : -Xms256m -Xmx1024m
4. 실행확인
4.1 Build Now
Build Now 버튼을 클릭하여, Build를 수행합니다.
빌드가 성공하면, 하단의 SonarQube 아이콘이 생성되는 것을 확인할 수 있습니다.
4.2 SonarQube 접속
SonarQube에 접속하기 위해 SonarQube 아이콘을 클릭합니다.
아래와 같이 SonarQube 접속 화면을 확인할 수 있습니다.