CI/Jenkins

Jnekins 과 Tomcat 8 연동하여 WAR 파일 배포

후뤼한잉여 2015. 12. 9. 00:37

Jnekins 과 Tomcat 8 연동하여 WAR 파일 배포

1. 개요

SSH를 통해 직접 배포를 해도 되지만, 톰캣 컨테이너를 통해 좀 더 자동화를 시키기 위해 설정한 내용을 정리한 문서입니다.

2. Tomcat 설정

톰캣을 외부 또는 웹에서 deploy하기 위해서 deploy관련 서비스에 대해서 권한설정을 해줘야 한다.

vi [톰캣 설치경로]/conf/tomcat-users.xml

세부 설정은 아파치 톰캣 사이트에서 확인이 가능하다.

<tomcat-users>와 </tomcat-users> 사이에 <role>과 <user>를 등록해서 사용해야 한다.
<role>에는 4가지 역할이 존재한다.
1. manager-gui : 톰캣에서 웹으로 제공하는 서비스 이용시 사용한다.
2. manager-status : "Server Status"페이지 접속시에만 사용한다.
3. manager-script : 스크립트를 이용한 배포시 사용하는 듯 하다.
4. manager-jmx : jmx 사용시 사용한다.

대략적인 사용방법은 아래와 같다.

<role rolename="역할명" />
<user username="사용할ID", password="사용할PW" roles="역할명1, 역할명2..." />

Jnekins 연동을 위해서 설정은 아래와 같이 진행하였다.

<tocamt-users>
...
    <role rolename="manager-script" />
    <user username="아이디" password="암호" roles="manager-script" />
</tomcat-user>

3. Jenkins 설정

  1. [Jenkins 관리] -> [플러그인 관리] -> Deploy to container Plugin 플러그인 설치
  2. Job 선택 -> [구성] 메뉴 클릭
  3. 빌드 후 조치 부분에 [빌드 후 조치 추가] 버튼을 클릭 후 Deploy war/ear to a conatiner 선택
  4. Tomcat Deploy 설정 후 저장
    ① WAR/EAR files은 워크스페이스에서 가져올 WAR 또는 EAR파일을 어디에서 어떤 이름으로 가져올지를 설정하는 곳이다.
    ② Context path는 배포시 사용할 컨텍스트를 지정한다. /test로 지정하면 http://URL/test/index.jsp 식으로 접속이 가능해진다.
    현재 톰캣 7.x까지 지원하는걸로 나오는데 7.x 선택 후 8 버전도 사용이 가능하다.
    ③ Container는 사용하는 Container를 선택하는 곳이다.
    ④ Manager username은 앞서 톰캣에서 설정한 아이디를 입력한다.
    ⑤ Manager password도 앞서 톰캣에서 설정한 암호를 입력한다.
    ⑥ Tomcat URL은 톰캣에 접속할 때 사용하는 포트까지의 경로이다. http://IP:포트식을 의미한다.