본문 바로가기

Tools

Ant Build를 이용한 Jenkins CheckStyle 설정

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


1. Jenkins 에 CheckStyle Plug-In 설치

A. Jenkins에 CheckStyle Plug-In이 설치되어있지 않다면 하단의 설치방법에 따라 플러그인을 설치한다.

i. Jenkins 메인 > Jenkins 관리 > [플러그인 관리] 로 이동

ii. [설치가능] 탭으로 이동 후 필터에 checkstyle 을 검색한다.


 

iii. Checkstyle Plug-in 을 선택하여 설치한다.

B. CheckStyle Plug-In이 설치되어있다면 (2.) 으로 이동


2. Jenkins 설치가 되었다면, CheckStyle이 적용되길 원하는 프로젝트로 이동한다.


3. 해당 프로젝트에서 [구성] 을 클릭하고 [Build] 탭으로 이동하여 CheckStyle 시작에 대한 target을 지정한다. 


 

4. [빌드 후 조치] 탭으로 이동하여 “빌드 후 조치 추가” 를 선택하여 “Publish Checkstyle analysis results” 을 세팅한다.

  

A. Ant 에서 사용한 Build.xml 에서 checkstyle-result.xml 를 생성하는 구문을 작성 후 Jenkins에서 해당 파일을 읽어올 수 있도록 설정한다.

B. Run always라는 체크박스를 체크한다.

C. Status thresholds(상태기준치)를 작성한다. 참고로 세팅은 warning 조차 허용되지 않는다.

5. [저장] 후 해당 프로젝트의 빌드를 실행한다.

6. 오류가 있을 시 CheckStyle warning 을 확인해보면,


위 처럼 warning 사항이 보여진다, 이때 빌드는 실패한다.

7. build.xml 세팅

○ CheckStyle 의 기본세팅


        <!-- CheckStyle 기본세팅 -->

<!-- CheckStyle 홈세팅 -->

<property name="check.style.home" value="D:/work/checkstyle" />

<!-- CheckStyle 적요대상 파일 -->

<property name="check.file" value="${build.dir}/**/*.java" />

<!-- CheckStyle rule 파일 세팅 -->

<property name="check.style" value="${check.style.home}/checkStyleByGoogle.xml" />

<!-- CheckStyle 로그 및 결과 파일경로 -->

<property name="check.export.dir" value="./export" />



○ CheckStyle 설정 


<target name="init-checkstyle">

<path id="checkstyle.lib.path">

        <fileset dir="${check.style.home}" includes="*.jar"/>

</path>

<!-- Sevntu custom checks are retrieved by Ivy into lib folder and will be accessible to checkstyle-->

        <taskdef resource="com/puppycrawl/tools/checkstyle/ant/checkstyle-ant-task.properties" classpathref="checkstyle.lib.path"/>

</target>

<target name="checkstyle" description="Generates a report of code convention violations." depends="init-checkstyle" >

<echo message="|==================================| " />

<echo message="|                                                             | " />

<echo message="|                      checkstyle start......                 | " />

<echo message="|                                                             | " />

<echo message="|================================================| " />

<echo message="==== Copy changed files for CheckStyle ====" />

 

<mkdir dir="${check.export.dir}"/>

<mkdir dir="${check.export.dir}/checkstyle/source"/>

 

<tstamp>

        <format property="build.time" pattern="yyyy-MM-dd HH:mm:ss" offset="-2" unit="day" />

</tstamp>

<copy todir="${check.export.dir}/checkstyle/source" includeEmptyDirs="false">

        <fileset dir="${src.dir}" includes="**/*.java">

                <date datetime="${build.time}" when="after" pattern="yyyy-MM-dd HH:mm:ss" /> 

        </fileset>

</copy>

<tstamp>

        <format property="exportTime" pattern="yyyyMMddHHmmss"/>

</tstamp>

<echo message="${check.style}" />

<checkstyle config="${check.style}" failOnViolation="true" >        

        <formatter type="xml" tofile="./export/checkstyle-result.xml" />

        <fileset dir="${check.export.dir}/checkstyle/source" includes="**/*.java"/>

</checkstyle>

<delete dir="${check.export.dir}/checkstyle" />

 

<echo message="|================================================| " />

<echo message="|                                                                  | " />

<echo message="|                      checkstyle end......                            | " />

<echo message="|                                                                  | " />

<echo message="|================================================| " />

</target>







고양시 맛집 어선당삼송점 고양시 맛집 어선당삼송점 고양시 맛집 어선당삼송점 고양시 맛집 어선당삼송점 고양시 맛집 어선당삼송점 고양시 맛집 어선당삼송점 고양시 맛집 어선당삼송점 고양시 맛집 어선당삼송점 고양시 맛집 어선당삼송점 고양시 맛집 어선당삼송점 고양시 맛집 어선당삼송점 고양시 맛집 어선당삼송점 


삼송맛집 어선당삼송점 삼송맛집 어선당삼송점 삼송맛집 어선당삼송점 삼송맛집 어선당삼송점 삼송맛집 어선당삼송점 삼송맛집 어선당삼송점 삼송맛집 어선당삼송점 삼송맛집 어선당삼송점 삼송맛집 어선당삼송점 삼송맛집 어선당삼송점 삼송맛집 어선당삼송점 삼송맛집 어선당삼송점 삼송맛집 어선당삼송점 삼송맛집 어선당삼송점