간단 지식/SW validation&verification

06. Jenkins와 SonarQube 연동하기

납작한돌맹이 2021. 4. 25. 15:28
반응형

1. ec2 서버에 소나큐브를 설치 후 아래 명령어로 실행

#root계정으로 ec2 서버에 ssh로 접속
su sonarqube
cd /opt
ls	#소나큐브가 설치되어 있는지 확인
cd sonarcube1
ls	#bin파일이 있는지 확인
cd bin
ls	#linux-x86-64가 있는지 확인
cd linux-x86-64
ls	#sonar.sh가 있는지 확인
./sonar.sh start
./sonar.sh console

 

 

2. 소나큐브 url(http://publicIP:9000)로 접속하여 로그인

 

 

3. ec2서버에 소나큐브 스캐너 설치

설치
압축해제
폴더이동
젠킨스와 소나큐브 스캐너 연동

결과적으로, /var/lib/jenkins/sonar-sanner-3.3.0.1492-linux/sonar-sanner-3.3.0.1492-linux 가 sonar runner 경로가 된다.

 

 

4. 젠킨스에 소나큐브 플러그인 설치

Sonarqube Scanner

 

5. 젠킨스 - 시스템설정 - 소나큐브 서버

위 이미지와 같이 세팅을 한다. 이때 server authentication token은 소나큐브에서 프로젝트를 생성하면서 만든 토큰을 의미한다.

(secret text로 만든 후 id는 Sonar, pw는 토큰)

 

5. 젠킨스 - global tool configuration - sonarqube scanner

ec2서버상에서 설치한 소나큐브 스캐너를 이동시킨 폴더의 경로를 의미한다.

 

 

6. 프로젝트 - 구성 - build

add build step 후 Execute Sonarqube Scanner를 추가하여 Analysis properties를 아래와 같이 채운다.

#required metadata(required)
sonar.projectKey=test
sonar.projectName=test
sonar.projectVersion=1.0

#path to source directories(required)
sonar.sources=/var/lib/jenkins/workspace/test/src/main/java
sonar.java.binaries = /var/lib/jenkins/workspace/test/build/classes

#optional
sonar.host_url=http://publicIP:9000/
sonar.login=admin
sonar.password = admin

입력할 수 있는 property들은 정말 많은데, 소나큐브와 젠킨스의 연동을 위해서 꼭 필요한 property는 입력해줘야 한다.

 

 

 

7. 빌드 후 소나큐브 확인

++++

CTIP환경에는 젠킨스, 레드마인, 소나큐브, 테스트링크 등이 동시에 돌아간다. 따라서 aws ec2 서버가 이 모든 것을 감당하기에는 약하기 때문에 가장 무거운 소나큐브를 다른 서버에 깔거나 local에 까는 것도 좋은 방법이다. 어차피 젠킨스와 소나큐브의 연동은 젠킨스 경로에 설치된 sonar-scanner와 젠킨스의 플러그인으로 깔린 sonar-scanner가 해주기 때문에 소나큐브 자체의 위치는 굳이 젠킨스와 같은 경로에 있을 필요가 없다.

 

 

 

(이 글이 도움이 됐다면 광고 한번씩만 클릭 해주시면 감사드립니다, 더 좋은 정보글 작성하도록 노력하겠습니다 :) )

반응형