정보과학 IT

HUDSON [허드슨] 설치 및 시작

물곰탱이 2013. 10. 22. 11:20

HUDSON [허드슨] 설치 및 시작

 

허드슨이란, 빌드 배포 작업을 쉽게 할 수 있도록 해주는 CI(Continuous Integration: 지속적인 통합) TOOL 입니다. 

CVS 또는 SVN에서 소스를 다운받아 ANT 빌드 스크립트를 이용해 컴파일 및 패키징하고 개발서버에 배포하는 일련의 과정을 버튼 하나로 가능하게 해주는 놈 입니다.

물론, 이 기능 외에도 여러가지 기능을 제공하오니, 한번 사용해 보시기 바랍니다. ^^

 

* 참고로, 허드슨을 사용하기 위해서는 버전관리 프로그램이 설치되어 있어야 하는데요.

여기서는 svn(svn서버 + svn클라이언트)을 설치한 상태에서 진행하므로 참고하시기 바랍니다.

허드슨 덕분에, 예전에 삭제했던 svn을 이번에 저도 다시 설치하게 되었습니다.

(참고: svn 서버 가동 명령어 - svnserve -d -r C:\SVN_Server\svn_data)

다시 공부도 할겸해서 말이죠. :D

 

  • 허드슨 다운로드

허드슨 홈페이지 입니다.

http://hudson-ci.org/

 

 

1. 먼저 좌측 하단의 링크를 클릭하여 HUDSON.WAR 파일을 다운로드 하시면 됩니다.

현재는 *.ZIP 파일로 다운로드 된다고 하는데, 확장자만 변경된 것이니 특별히 신경 안쓰셔도 됩니다.

 

2. 자바로 구현되어서 JVM이 필요하오니, 아래 링크를 클릭하여, 오라클 홈페이지에서 JRE를 다운받아 설치하시기 바랍니다.

http://www.oracle.com/technetwork/java/javase/downloads

 

 

3. 허드슨 홈페이지에서 받은 파일을 적당한 위치에 옮겨 놓습니다.

참고로 저는 용량이 많은 D드라이브에 허드슨 폴더를 만들어서 옮겼습니다 [D:\hudson\hudson.zip]

 

4. 허드슨을 실행 하기 전에 먼저 허드슨을 사용하면서 저장될 데이타 폴더를 생성해야 합니다.

저는 D:\hudson\HOME 에 만들겠습니다.

데이타 폴더의 PATH 설정을 해야 합니다. [내컴퓨터 오른쪽 클릭 -> 속성 -> 고급 -> 환경변수 -> 시스템 변수에서 새로만들기]

* svn에 등록된 최종 소스를 Hudson Source로 옮기기 위해서 Hudson의 소스를 관리할 홈디렉토리의 설정이 필요하기 때문 입니다.

 

  • 허드슨 실행

1. 이제 허드슨을 실행합니다.

시작 -> 실행 -> cmd 입력하여 콘솔 화면을 출력하여, java -jar hudson\hudson.zip 명령어를 입력합니다.

 

2. 5번 과정이 콘솔 화면으로 서버가 실행된 상태 입니다.

이제 IE를 열고 http://127.0.0.1:8080 주소 입력하여 허드슨에 접속하면 초기 설치 과정을 거치고 시작 될 것 입니다.

 

허드슨 설치가 완료되었습니다.

이제, 간단하게 권한 설정을 해 보도록 하겠습니다.

 

 

  • 허드슨 권한설정

1. 처음 허드슨을 접속하면, 접속한 누구든지 모든 작업을 할 수 있도록 권한이 설정되어 있습니다.

애써 만든 허드슨 서버를 잘 관리하고 싶다면, 권한을 설정해 주는 것이 좋습니다.

허드슨 권한에 대해서 여러가지 옵션이 있지만, 저는 간단하게 허드슨 자체에서 유저 목록을 관리할 수 있도록 설정해 보도록 하겠습니다.

 

고로, 여기서는 프로젝트 별로 Hudson을 따로 설치한다는 가정하에 관리자는 모든 권한을 가지고, 익명 접근자는 빌드 상태를 볼 수만 있는 설정을 하도록 하겠습니다.

 

2. Hudson 관리 -> Configure System 클릭

 

 

3. 화면 중간에 있는 Enable security를 선택한 후, 하위 라디오 박스의 Security Realm ->Hudson's own user database

Authorization -> Logged in users can do anything를 클릭하고 Save를 클릭하여 설정 완료를 합니다.

 

 

 

4. 설정을 완료했으니, 우측 상단의 가입 링크를 클릭하여 관리자로 사용할 계정을 생성 합니다.

 

5. 등록하면 자동으로 로그인이 되며, 모든 권한을 사용할 수 있는 상태가 됩니다.

 

6. Hudson 관리 -> Configure System -> Enable security 항목에서 다음과 같이 설정을 수정합니다.

Authorization -> Matrix-based security 클릭

 

7. User/group to add: 항목에서 현재 로그인한 계정(본인 계정)을 입력하고 Add를 클릭합니다. (이 때 엔터로 입력하면 바로 저장되서 관리자 권한이 사라져서 다시 설치해야 하는 경우가 발생할 수 있으니, 마우스로 클릭해서 입력하시기 바랍니다.)

 

현재 로그인한 계정에는 모든 권한을 부여하고(관리자 권한), Anonymous에는 read 권한만 부여한 후, Save를 클릭해서 저장 합니다.

 

 

이제 관리자는 모든 권한을 가지며, 익명 권한에 대해서는 현재 상태만 볼 수 있는 상태가 되었습니다.

 

 

  • 허드슨 프로젝트 생성

1. 허드슨 Main Page 왼쪽 메뉴에서 새작업을 클릭 합니다.

 

 

2. 작업명에 진행 할 Project명을 입력합니다. (한글도 가능합니다.)

 

3. Job Type 설정은 두 번째 Build a free-style software project를 선택합니다.

 

4. 설정을 완료한 후, OK를 클릭하면 프로젝트 생성이 완료 됩니다.

 

5. Workspace를 클릭하면, 방금 생성한 Project의 모든 정보가 저장되는 폴더를 나타냅니다.

 

6. Build Now는 말 그대로 빌드를 시작하는 겁니다.

 

7. Delete Project는 프로젝트를 삭제하는 겁니다.

 

8. Configure는 프로젝트를 설정할 수 있는 기능 입니다.

 

  • 허드슨 프로젝트 설정

1. Configure를 클릭하여 프로젝트의 기본적인 설정에 대해 입력해 보겠습니다.

Discard Old Builds - 빌드 로그를 보관하는 기간 설정

Disable Build - 빌드 정지

 

 

2. 다음은 프로젝트의 고급 설정에 대해 입력해 보겠습니다.

Quiet period - 만약 이 프로젝트의 빌드가 끝난 뒤, 다른 프로젝트를 빌드하도록 설정되어 있다면 현재 프로젝트의 빌드가 끝난 뒤, 바로 다른 프로젝트를 빌드하지 않고 Quiet period에 지정된 시간만큼 기다렸다가 다른 프로젝트를 빌드 하도록 설정

Use custom workspace - 허드슨의 프로젝트는 각각의 고유 Workspace를 가지도록 설정되어 있는데, 이 옵션을 사용하면 다른 프로젝트의 Workspace를 사용하도록 설정할 수 있습니다.

 

 

3. 다음은 svn 설정 입니다.

Repository URL - svn 경로 설정

Local module directory - svn을 Check out할 경로 설정

 

4. 다음은 빌드를 특정 시점에 할 수 있도록 설정하는 방법 입니다.

Build after other projects are build - 다른 프로젝트가 빌드된 후, 현재 프로젝트를 빌드합니다. 아래 칸의 Projects names에 다른 프로젝트의 이름을 적어주면 됩니다.

Build periodically - 빌드 주기를 설정합니다. 빌드 주기는 MINUTE / HOUR / DOM / MONTH / DOW 로 설정합니다.

MINUTE - Minutes within the hour (0-59)

HOUR - The hour of the day (0-23)

DOM - The day of the month (1-31)

MONTH - The month (1-12)

DOW - The day of the week (0-7)

ex) 분마다 빌드 -> * * * * *

시간마다 5분이 지났을 때 빌드 -> 5 * * * *

매일 24:00시가 되었을 때 빌드 -> 0 0 * * *

Poll SCM - 여기에 지정한 주기별로 소스 관리 시스템을 폴링(체크)하여 변경이 있을 경우에만 빌드를 수행 합니다.

 

 

5. Build - 각종 빌드 타입에 맞는 빌드를 수행

Execute shell - Shell 명령을 수행(Linux)

Invoke top-level Maven targets - Maven type의 프로젝트에 대한 빌드

Execute Windows batch command - 윈도우 batch command 명령을 수행(Windows)

Invoke Ant - Ant type의 프로젝트에 대한 빌드

 

Execute Windows batch command를 선택하여, command 부분에 일반적으로 사용하는 명령어를 입력해 주면 됩니다.

 

6. Post-build Actions - 빌드 후 수행될 작업

주로 빌드 후 생성된 문서를 각종 허드슨 플러그인과 연동하는 작업

 

저 같은 경우는 E-mail Notification을 선택하여, 에러가 생기면 메일이 오도록 설정하였습니다.

이 서비스를 선택할 경우, 메일서버인 SMTP를 설정해 줘야 메일이 정상적으로 옵니다.

 

이렇게 입력하고 하단의 Save 버튼을 클릭하여 설정을 마칩니다.

 

추가로, 허드슨은 자동빌드 외에 분석 및 테스트를 위한 기능을 제공하는데요.

대략 아래와 같은 기능들이 있으니, 나중에 필요하면 해당 모듈을 다운로드 받아서 설치 폴더에 복사해서 사용하시면 됩니다.

1. PMD를 이용한 코드 분석 - http://pmd.sourceforge.net/

2. Findbugs로 잠재적인 버그 검출 - http://findbugs.sourceforge.net/

3. Junit을 이용한 단위 테스트 - http://www.junit.org/

4. EMMA Coverage를 이용한 코드 신뢰성 검사 - http://emma.sourceforge.net/

5. Japex를 이용한 단위 성능 테스트 - http://japex.java.net/

6. Doxygen을 이용한 문서 자동화

 

오랜만에 긴 시간 투자해서 작성했네요. ^^

허드슨 사용하시는 모든 분들에게 조금이나마 도움이 됐으면 좋겠네요. :D

 

http://choungjae.egloos.com/470278

'정보과학 IT' 카테고리의 다른 글

Data warehouse & ETL architecture  (0) 2013.10.23
컴파일(Compile)과 빌드(Build)  (0) 2013.10.22
iBatis - 기본 설정 & 게시판 만들기  (0) 2013.10.22
CBD(Component Based Development)  (0) 2013.10.21
OSI 7계층 참조 모델  (0) 2013.10.21