Jenkins 설정에 대한 정리

차기 프로젝트에서는 CI 툴을 사용하고자 Jenkins 사용법에 대해서 알아봤다.

빌드 방법은 maven을 이용해 war 생성 후 tomcat manager를 통해 war를 업로드 하는 식이다.

1. 

먼저 Jenkins를 설치한 후 웹 사이트에 접속한다.

2. 

시스템 설정

Jenkins 관리 > 시스템 설정 메뉴 접속 후 다음과 같이 JDK, Maven, 이메일, SVN 버전 설정을 한다.

이메일 서버는 gmail을 이용하였다.

3. 

새로운 Job을 클릭

Job 이름 입력 후 Build a maven2/3 project 라디오 버튼 클릭

4. 

소스 코드 관리 설정은 다음과 같이 한다.

나는 naver SVN 저장소를 이용했다. 사실 우리 회사 SVN 서버가 가끔씩 말썽을 일으키는 경우가 있는데 회사 프로젝트도 네이버의 SVN 서버를 이용하여 형상 관리를 하면 좋을 것 같다는 생각이 든다.

5.

빌드 트리거 설정

매일 매시 49분에 자동 빌드가 되도록 설정


6.

빌드 설정

maven Root POM 지정 후 Goals을 넣어준다.

clean 으로 target 디렉토리를 정리한 후 install을 이용하여 war를 생성한다.


7.

Post-build Actions 지정

톰켓의 webapps 디렉토리에 war를 배포하기 위한 설정이다. (Deploy Plugin을 설치해야 war를 tomcat으로 배포할 수 있다.)

여기서 manager 아이디와 패스워드는 TOMCAT_HOME/conf/tomcat-users.xml 파일에서 셋팅한다.

<role rolename=”tomcat”/>

<role rolename=”role1″/>

<role rolename=”manager”/>

  

<user username=”tomcat” password=”tomcat” roles=”tomcat”/>

<user username=”both” password=”tomcat” roles=”tomcat,role1″/>

<user username=”role1″ password=”tomcat” roles=”role1″/>

<user username=”lng1982″ password=”********” roles=”manager”/>




기본적으로 위와 같이 설정하면 Jenkins를 이용하여 지속적인 통합을 할 수 있다.

Jenkins 프로젝트 job 히스토리 삭제 방법



1. ${JENKINS_HOME}/jobs/프로젝트명/builds 이동

2. 삭제하고자 하는 히스토리 디렉토리를 삭제

3. Jenkins 관리 메뉴에서 Reload Configuration from Disk 선택

SSH를 이용한 배포


위에서 설명한 tomcat manager를 통한 배포 방식 외에 SSH를 이용하여 배포하는 방법도 있다.

먼저 jenkins 플러그인 화면으로 이동 후 “Publish Over SSH”를 설치한다.

Job > 설정으로 이동 후 Post-build Actions에 다음과 같이 설정하면 끝

실제 war 파일을 SSH 프로토콜을 이용하여 서버에 업로드 하는 것이다.

FTP를 이용한 배포


FTP를 이용한 배포를 위해선 “Publish Over FTP” 플러그인을 설치 후 Jenkins 관리 페이지 > 시스템 설정 페이지로 이동한다.

Publish over FTP 에 다음과 같이 설정

적용하고자 하는 프로젝트의 Job > 설정 페이지 이동 후 업로드 하고자 하는 파일에 대한 정보를 입력하면 끝