본문 바로가기

툴사용법

[젠킨스] 소스품질확인

위와 같은 소스분석 플러그인이 있는데 체크스타일 플러그인을 추가해보자.

 

Jenkins관리 > 플러그인 관리

 

1. 설치 가능 탭으로 변경하여 checkstyle 플러그인을 검색

2. checkstyle 선택하고 지금 다운로드하고 재시작 후 설치하기

 

화면이 자동으로 갱신되지 않으면 브라우저를 수동으로 갱신.

젠킨스가 정상적으로 재실행되지 않으면 젠킨스 재기동

 

잡을 만들기 위한 새로운 Item

잡이름을 기입 나는 CheckStyleJob > Freestyle project > ok

 

GithubURL 획득

 

소스코드관리 탭에 git선택 > 깃허브URL기입 > 기존에 저장해둔 아이디 선택, 아이디가 없다면 젠킨스 설치편 참고

Build > Add build step > Invorke top-level Maven targets 선택

 

clean:clean checkstyle:checkstyle install

> 빌드시에 체크스타일을 실행

 

빌드 후 조치 추가에 위와같이 선택 후 저장 아래스샷참고

 

저장을 누르면됨

 

정상적으로 저장되면 좌측 메뉴 Build Now 실행하여 빌드를 시작한다.

 

빌드가 완료되면 14,301 warnings 를 클릭하면 상세 페이지로 이동되어 경고가 발생한 부분을 상세하게 확인할 수 있다.

 

경고가 발생한 부분의 상세를 타고 들어가면 뭐가 문제인지 확인할 수 있다.

 

* PMD

> PMD는 사용하지 않는 변수나 오브젝트를 생성해서 결함을 유발하는 코드가 있는지 검사한다. 또한 중복된 코드를 검출할 수 있다.

> 설치방법은 checkstyle과 같다.

> Jenkins관리 > 플러그인 관리 > 설치 가능탭

> PMD역시 동일한 방법으로 설치

> 새로운 Item > 적당한 이름(PMDJob) 입력 후 Freestyle Project를 선택 후 ok

 

이번에는 오래된 빌드 삭제를 설정하여 오래된 빌드 파일을 자동삭제해보자.

위처럼 설정하면 빌드 수가 5개를 넘으면 오래된 빌드 정보부터 삭제한다.

 

깃 정보입력

 

Build 설정에서 Invoke top-level Maven target을 선택하고 위와같이 입력

clean:clean pmd:pmd pmd:cpd install

 

빌드 후 조치 추가에서 PMD를 선택하고 특별한 변경없이 저장을 클릭해 잡생성을 완료한다.

 

Build Now를 통해 결과를 확인하자.

 

중복되는 소스를 기똥차게 찾음

 

* JaCoCoFindBugs

> 잠재적 버그를 찾아주는 FindBugs와 코드의 테스트 커버리지를 보여주는 JaCoCo를 동시에 설정해서 확인해보자.

 

위에서 했던 예제들과 동일하게 설치

새로운 Items > JaCoCoFindBugsJob 이라는 새로운 잡을 생성 > ok

 

1. 오래된 빌드 삭제, 보관할 최대갯수를 5로 설정.

2. 깃허브 주소와 사용자 선택

3. Build > Invoke top-level Maven targets

clean:clean findbugs:findbugs org.jacoco:jacoco-maven-plugin:prepare-agent install

4. 빌드 후 조치에서 Record JaCoCo coverage reportPublish FindBugs analysis results를 선택하고 저장

 

Build Now를 클릭하여 빌드한다. #1의 빌드 번호를 클릭하면 FindBugsJaCoCo 관련 정보를 확인할 수 있다.

 

1. 보통 퍼센트 게이지가 올라가는데 없음.

If 등 분기칠 때 테스트가 완벽했다는 의미인듯하다. 또한 findBugs를 통해 발견된 잠재적인 버그도 없음.

2. Coverage Report를 클릭하면 더 자세히 확인할 수 있다.