[출처] 인섬니아 블로그
Ant 빌드파일 작성
build.xml 파일 생성 : 웹용 ant 파일은 여기 참조
- 프로젝트 컨텍스트 메뉴에서 New > File 선택
- 파일명은 build.xml로 생성
- Ctrl + Space 로 buildfile template 선택 : 기본 포맷 내용이 만들어짐
프로퍼티 지정
빌드시에 사용할 프로퍼티를 설정한다. 별도의 프로퍼티 파일로 생성해서 사용 가능
<!--퍼로퍼티 파일 지정 -->
<property file="build.properties" />
<!--퍼로퍼티 설정 : 각종 폴더 & 생성파일 -->
<property name="project.name" value="VerySimpleBlog"/>
<property name="base.dir" value="."/>
<property name="src.dir" value="src" />
<property name="web.dir" value="WebContent"/>
<property name="dist.dir" value="dist"/>
<property name="build.dir" value="build"/>
<property name="war.file" value="${dist.dir}/${project.name}.war"/>
path 지정
컴파일에 필요한 라이브러리 패스를 설정한다.
<!-- 컴파일 패스 설정 : 웹 라이브러리 위치 (WEB-INF/lib), 톰캣 라이브러리 추가(tomcat/lib) -->
<path id="project.classpath">
<pathelement location="${web.dir}/WEB-INF/lib"/>
<fileset dir="${web.dir}/WEB-INF/lib">
<include name="*.jar"/>
</fileset>
<pathelement location="${tomcat.home}/lib"/>
<fileset dir="${tomcat.home}/lib">
<include name="*.jar"/>
</fileset>
</path>
빌드 날짜 생성
빌드 날짜를 스탬프로 찍는다.
<target name="datentime" description="create current date">
<tstamp>
<format property="DSTAMP" pattern="yyyy-MM-dd"/>
<format property="TSTAMP" pattern="HH:mm:ss"/>
</tstamp>
<echo message="Build started at : ${DSTAMP} - ${TSTAMP}" />
</target>
prepare
빌드하기전에 빌드폴더 생성 및 WebContent?내의 파일을 build 폴더로 복사한다.
<target name="prepare" depends="datentime, clean" description="copy web contents">
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.dir}/WEB-INF" />
<mkdir dir="${build.dir}/WEB-INF/classes" />
<copy todir="${build.dir}">
<fileset dir="${web.dir}" />
</copy>
</target>
Clean
build와 dist 폴더를 삭제한다.
<target name="clean" description="delete build, dist">
<delete dir="${dist.dir}" />
<delete dir="${build.dir}" />
</target>
build
build 폴더에 자바 컴파일 후 classes 파일을 복사한다.
<target name="build" depends="prepare" description="compile java">
<javac srcdir="${src.dir}"
destdir="${build.dir}/WEB-INF/classes"
debug="${compile.debug}"
deprecation="${compile.deprecation}"
optimize="${compile.optimize}"
classpathref="project.classpath">
</javac>
<copy todir="${build.dir}/WEB-INF/classes">
<fileset dir="${src.dir}" excludes="**/*.java, **/*.properties" />
</copy>
</target>
Dist
build 폴더를 프로젝트이름.war로 압축해서 dist 폴더로
<target name="dist" depends="build" description="make war file from build to dist">
<mkdir dir="${dist.dir}"/>
<jar destfile="${war.file}" basedir="${build.dir}" />
</target>
apply
build 폴더와 톰캣 app 폴더와 동기화 시킨다.
<target name="apply" depends="build" description="sync between webapp and build ">
<sync todir="${tomcat.home}/webapps/${project.name}">
<fileset dir="${build.dir}" />
</sync>
</target>
javadoc
api documentation 생성
<target name="javadoc" description="api documentation">
<mkdir dir="${dist.dir}/docs/api" />
<javadoc sourcepath="${src.dir}" destdir="${dist.dir}/docs/api" packagenames="*">
<classpath refid="project.classpath" />
</javadoc>
</target>
'Dev. ProjectKICE > CI 서버 구축' 카테고리의 다른 글
| How to Spring MVC Unit Test 스프링 MVC 단위 테스트 (0) | 2016.11.21 |
|---|---|
| 기존 프로젝트의 디렉토리 구조를 그대로 두고 maven으로 빌드하기 (0) | 2016.11.08 |
| Hudson을 이용한 빌드와 테스트의 자동화 (0) | 2016.10.27 |
| 개발PC에서는 정상, 서버에서는 컴파일 에러가 나는 경우 (0) | 2016.10.27 |
| Jenkins 권한 설정 실패시 초기화 방법 (0) | 2016.10.26 |