일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ibatis
- spring transaction
- Hudson
- jquery serialize
- jstl
- gwt
- custom filter
- rember me
- @SqlResultSetMapping
- java tip
- Spring
- bootstrap jquery datepicker
- querydsl
- drools
- GEventEvaluator
- gwt-ext
- MySQL
- spring security
- CEP
- SVN
- JBoss Seam
- maven
- guvnor
- jenkins
- spring jpa
- COC
- jquery
- Drools Fusion
- JPA
- zabbix
- Today
- Total
봉 블로그
Hudson + (svn + ant + svneton) 설정 본문
3. ant 설치
- Hudson에서 옵션으로 사용할 수 있는 다양한 기능들은 대부분 Ant의 build파일을 통하여 실행할 수 있다.
즉, 실제 작업은 ANT가 하는 것이고 Hudson은 ant를 실행하고 그결과를 보조적으로 보여주는 역할 정도를 담당한다고 할 수 있다.
- (ex. build.xml)
<?xml version="1.0" encoding="utf-8"?>
<!-- basedir is hudson's base source directory -->
<project name="Apple" default="all" basedir="D:\hudsonSRC\jobs\Apple\workspace\jjul">
<property name = "src.dir" value = "${basedir}/src"/>
<property name = "class.dir" value = "${basedir}/WebContent/WEB-INF/classes"/>
<property name = "original.dir" value = "D:\project\ibizware\workspace3.4.1\Apple"/>
<property name = "gwtlib.dir" value = "D:\project\ibizware\workspace3.4.1\Apple\WebContent\WEB-INF\lib" />
<!-- ClassPath -->
<path id="project.class.path">
<pathelement location="${gwtlib.dir}/" />
<fileset dir="${gwtlib.dir}">
<include name="*.*"/>
</fileset>
</path>
<path id="project.class.common.path">
<pathelement location="${class.dir}/" />
<fileset dir="${class.dir}">
<include name="**/*.*"/>
</fileset>
</path>
<!-- Delete Class -->
<target name="clean">
<delete verbose="true">
<fileset dir="${class.dir}" >
<include name="**/*.class"/>
</fileset>
</delete>
</target>
<!-- source compile -->
<target name="compile">
<javac deprecation="off"
debug="on"
srcdir="${src.dir}"
destdir="${class.dir}" >
<classpath refid="project.class.path"/>
</javac>
</target>
<!-- Project Copy -->
<target name="copies">
<copy todir="${original.dir}" failonerror="false" overwrite="yes">
<fileset dir="${basedir}">
<include name="**/*.*" />
</fileset>
</copy>
</target>
<target name="all" depends="clean,compile" />
</project>
- Hudson 관리 -> Configure System -> Ant -> name (ex. DEFAULT_ANT) -> ANT_HOME (ex. D:\work\apache-ant-1.7.1) -> save
- Configure -> Build -> Invoke Ant -> Ant Version (ex. DEFAULT_ANT) -> Build File (ex. D:\project\ibizware\workspace3.4.1\Apple\build.xml) ->save
4. hudson 설정 테스트
- 아래와 같은 왼쪽화면에서 Build Now를 클릭.
- 그러면 Build History에 진행상황이 나타납니다. 진행이 완료되면 해당 History를 클릭.
5. 빌드 트리거 설정
- Build after other projects are built 이녀석은 지정된 프로젝트의 빌드가 성공하면 자동으로 프로젝트를 빌드해 주는 기능입니다.
- Poll SCM 이것은 주기별로 변경사항을 체크하여 변경사항이 있는 경우만 빌드를 실행합니다.
- Build periodically 마지막으로 이녀석은 변경여부에 상관없이 주기별로 무조건 빌드를 실행합니다
- Configure -> Build Triggers -> (ex. Build periodically) -> 주기설정 방법은 : 분 시간 날짜 월 요일 -> Schedule ->
(ex. )
#분 시간 날짜 월 요일
# 매일 12시에 실행
#00 12 * * *
# 매일 14시 10분,50분 실행(테스트)
10 14 * * *
50 16 * * *
5 * * * * (5분간격으로) -> 쭐쒸세팅..ㅋ
6. sventon 설치
- svn의 상태를 시각적으로 보여준다. (diff 기능도 있음)
- 이클립스 내에 웹프로젝트 생성하고 WebContent에 svn.war를 임포트 시킨다.
- sventon 잘돌아가나 테스트 (ex. http://localhost:8080/svn) 음.. 역시나 잘돌아가는군..ㅋ 쫌 이쁘장한데~ㅋㅋ 후후후
- 프로젝트 연동: repository name (ex. jjul) -> svn url root (ex. svn://localhost/jjul) -> 비번넣을껀지 설정 -> zip 으로 export 할껀지 설정
7. hudson 과 sventon 연동
- Configure -> Source Code Management -> Repository browser -> sventon 2.x -> URL (ex. http://localhost:8080/svn/) -> Repository Instance (ex. Apple)
- 테스트: 소스수정 커밋후에 허드슨가서 build now -> 히스토리 확인
- 프로젝트 -> Changes -> sventon 2.x -> 수정사항을 확인할수 있다.