본문 바로가기

현재

AGJS 활용 (6-Jenkins Maven & Gradle project 등록)

1. Jenkins Maven project 구성

새로운 Item >> Maven project

Maven project를 보이게 하려면 플러그인이 반드시 있어야 한다 해당 플러그인은 다음과 같다

설치되어 있지 않다면 Jenkins관리>>플러그인 관리>>설치가능 탭에서

Maven IntegrationDeploy to container를 설치하자

Maven project가 보인다면 적당히 Item name을 입력하면

위와 같이 설정하고

상기와 같이 설정하고 저장한다

대략적인 의미는 maven 빌드할 때 Code Coverage를 위한 플러그인을 실행하고 SonarQube로 연동하겠다는 의미이다

2. Jenkins Maven project pom.xml 적용

pom.xml 추가

* Apache Maven Shade Plugin : This plugin provides the capability to package the artifact in an uber-jar, including its dependencies and to shade - i.e. rename - the packages of some of the dependencies. (의존성을 포함한 실행 가능한 single jar를 uber-jar라 한다)

3. Jenkins Maven project 실행

생성된 Maven project Build

Job을 실행후 콘솔출력을 확인해보면

Executing Maven

Scanning for projects...

Running Test

Recording test results

SonarQube Scanner 연동

Quality Gates plugin build passed의 순으로 로깅이 되며

SoanrQube에서는 다음과 같이 주입되어 표시된다

GitLab-Jenkins-SonarQube 연동후 SonarQube화면

4. Jenkins Gradle project 구성

Gradle은 Maven과 대부분 동일하고 아래의 항목만 차이가 있다

Jenkins 새로운 Item
Build 설정

테스트 없이 빌드시 build -x test 옵션 설정

sonar.java.binaries에서 변경을 하지 않았다면 maven은 target/classes이나 gradle은 build/classes임을 유의

5. Jenkins Gradle project build.gradle 교정

plugins에 아래 소나큐브와 코드커버리지 항목 추가

id "org.sonarqube" version "2.6"

id "jacoco"

sourceCompatibility는 프로젝트 Java 버젼 기재 (예: 현재 우리 프로젝트는 openJDK1.8이라 sourceCompatibility = '1.8' 적용)