티스토리 뷰

예전에 Sonarqube와 Jenkins를 연동해서 사용하는법에 대해서 다룬적이 있었다. 

 

 

Jenkins에 Sonarqube 연동하기

Jenkins와 Sonarqube 연동을 하려면 일단 Jenkins와 Sonarqube가 설치가 되어 있어야 한다. 각각의 설치 과정은 생략하도록 하겠다. 이 두개의 어플리케이션이 설치가 되어 있다는 가정하에 설명을 하도록

oingdaddy.tistory.com

여기에 추가적인 요건이 들어왔다. JAVA 파일만 검사하던 기존 로직에서 JS도 같은 Sonarqube Project로 묶어서 Sonarqube에서 확인을 하고 싶다는것이다. 이것도 Sonarqube Scanner의 설정파일을 직접 건드리는 것이 아닌 Jenkins의 Execute SonarQube Scanner를 통해서 진행하도록 하겠다. 그냥 Sonarqube Scanner설정파일에 구현해도 무관하다. 

 

다른 설정은 위의 링크를 참조하고 여기서는 Analysis properties 만 보도록 하자. 

 

# Root project information
sonar.sourceEncoding=UTF-8
sonar.projectBaseDir=$WORKSPACE/../testproject/testapp1
sonar.projectKey=testapp1
sonar.projectName=testapp1
sonar.projectVersion=1.0

# Some properties that will be inherited by the modules
sonar.java.source=1.8

# Properties can obviously be overriden for
# each module - just prefix them with the module ID
sonar.projectName=testapp1
sonar.sources=src
sonar.java.binaries=target/classes
sonar.inclusions=**/*.java, **/js/page/**/*.js

일반적으로 Sonarqube Scanner를 구성하는 방법과 같다. 밑에서 3줄이 중요하다.  src 디렉토리로부터 소스들을 읽는데 java 확장자를 가진 모든 파일과 js/page를 포함한 경로에 있는 js 확장자를 가진 파일만 inclusions (포함)을 시킨다. 여러개의 설정은 , 로 구분한다. 맨 아래줄만 변경해가며 원하는 파일만 inclusions을 시켜주면 된다. 

sonar.exclusions=src/java/test/**

반대로 exclusions (제외)를 하고 싶은 경우에는 아래와 같이 작성을 해주면 된다. 여러개일 경우는 마찬가지로 , 로 구분을 해서 작성을 하면 된다.

 

검사 수행을 하고 Sonarqube에 들어가서 보면 다음과 같은 결과를 볼수 있다. 

 

Issues에 들어가서 Language를 눌러보면 내가 inclusion을 시킨 것들만 검사항목으로 들어가있는것을 확인할 수 있다.

 

끝!

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31