developerworks/WAS

Hudson 설치 과정

수상한 김토끼 2013. 5. 24. 17:15

Hudson 설치

 

설치환경

192.168.212.76 root/redhatxen

Tomcat : /ssw/tomcat7_9090/

Hudson : /root/.hudson

Maven : /root/.hudson/tools/MAVEN_HOME

.m2 : /root/.m2

Ant : /root/.hudson/tools/ANT_HOME

기본 Job : /root/.hudson/jobs/repos

스크립트 위치 : /root/kiat/

Subversion 위치 : /ssw/repository/

 

설치

Maven, Hudson, Tomcat7, Ant

설치 URL

Hudson : http://hudson-ci.org/

Tomcat7 : http://tomcat.apache.org

Ant : http://ant.apache.org

Maven : http://maven.apache.org

 

설치과정

Tomcat 다운로드

Tomcat /ssw/tomcat7_9090 위치에 설치

9090포트를 사용하여 서비스 되고 있음

Hudson.war 파일을 /ssw/tomcat7_9090/webapps/아래에 배포하여 Hudson 설치

Hudson의 홈디렉토리는 /root/.hudson/

Maven ant /root/.hudson/tools/ 밑에 설치

MAVEN_HOME, ANT_HOME등을 자바와 마찬가지로 설정한다.

Maven 설치시에는 사용하려는 프로젝트와 같은 버전을 다운로드 하여야 함.

Subversion의 경우 rhel의 경우 기본적으로 설치되어 있습니다.

*Subversion svnserve –d –r /ssw/repository 명령으로 실행

 

http://192.168.212.76:9090/hudson 으로 접속하여 새로운 job 생성

build a maven2/3 project 선택 후 디폴트 svn, maven_build, ant_build설정 -> repos 프로젝트생성

이후 자동화를 위해 repos프로젝트를 새로운 job이름으로 복사 한 후 svn주소, 배포서버주소를 수정한 후 Hudson 재시작, Hudson 빌드를 수행 함.

자동화를 위한 부분은 쉘 스크립트로 작성하여 원격지에서 호출 할 수 있도록 설정 함.

 

Hudson API

url : http://127.0.0.1/hudson/job/job_name/api/xml

job_name에는 실제 job이름을 넣어주시면 됩니다.

url 호출시 다음과 같은 결과를 얻을 수 있습니다.

This XML file does not appear to have any style information associated with it. The document tree is shown below.

<freeStyleProject>

<action/>

<action/>

<action/>

<description/>

<displayName>paastest</displayName>

<name>paastest</name>

<url>http://127.0.0.1/hudson/job/paastest/</url>

<buildable>true</buildable>

<build>

<number>1</number>

<url>http://127.0.0.1/hudson/job/paastest/1/</url>

</build>

<color>red</color>

<firstBuild>

<number>1</number>

<url>http://127.0.0.1/hudson/job/paastest/1/</url>

</firstBuild>

<healthReport>

<description>Build stability: All recent builds failed.</description>

<iconUrl>health-00to19.png</iconUrl>

<score>0</score>

</healthReport>

<inQueue>false</inQueue>

<keepDependencies>false</keepDependencies>

<lastBuild>

<number>82</number>

<url>http://127.0.0.1/hudson/job/paastest/82/</url>

</lastBuild>

<lastCompletedBuild>

<number>82</number>

<url>http://127.0.0.1/hudson/job/paastest/82/</url>

</lastCompletedBuild>

<lastFailedBuild>

<number>82</number>

<url>http://127.0.0.1/hudson/job/paastest/82/</url>

</lastFailedBuild>

<lastStableBuild>

<number>77</number>

<url>http://127.0.0.1/hudson/job/paastest/77/</url>

</lastStableBuild>

<lastSuccessfulBuild>

<number>77</number>

<url>http://127.0.0.1/hudson/job/paastest/77/</url>

</lastSuccessfulBuild>

<lastUnsuccessfulBuild>

<number>82</number>

<url>http://127.0.0.1/hudson/job/paastest/82/</url>

</lastUnsuccessfulBuild>

<nextBuildNumber>83</nextBuildNumber>

<property/>

<concurrentBuild>false</concurrentBuild>

<scm/>

</freeStyleProject>

 

엘레먼트들을 정리 해 보면 다음과 같습니다.

description

displayName

name

url

buildable

inQueue

keepDependencies

nextBuilderNumber

property

concurrentBuild

scm