[Jenkins] Deploy

반응형

이번글에서는 jenkins job을 사용해 tomcat에 deploy 하는 방법에 대해 알아보도록 하겠습니다.

1. Sample.war

이번 실습에선 deploy에 war 파일을 사용하며, 구동중인 tomcat 서버가 있다고 가정하겠습니다.

war 파일은 https://tomcat.apache.org/tomcat-7.0-doc/appdev/sample/ 에서 제공해주는 sample.war 파일을 사용하도록 하겠습니다.

image.png

저의 jenkins server는 linux이므로 wget을 사용해 위의 sample.war 파일을 다운받았습니다.

image.png

각자 본인들의 jenkins workspace에 위에서 다운받은 war파일을 옮겨 놓아주시면 됩니다. jenkins workspace는 jenkins home directory에 위치한 config.xml 파일에서 확인할 수 있습니다.

image.png

config.xml

image.png

2. Tomcat Deploy User

tomcat에 deploy를 하기위해선 deploy user 계정이 필요합니다.

이때 deploy user는 manager-script 권한이 필요합니다. 따라서 아래와 같이 tomcat server에서 /conf/tomcat-users.xml에 user 정보를 추가합니다.

command

vi /conf/tomcat-users.xml

image.png

deploy user

 <user username="deployer" password="deployer" roles="manager-script"/>

3. Download Deploy Plugin

jenkins에서 deploy를 하기위해선 plugin을 다운받아야합니다.

manage plugins로 이동합니다.

image.png

deploy to container plugin을 다운받습니다.

image.png

4. Job

이제 위에서 다운로드한 war 파일을 deploy하는 job을 생성해보겠습니다.

new item을 클릭합니다.

image.png

생성할 job의 이름을 입력하고 freestyle project로 생성합니다.

image.png

다른 설정은 제외하고 가장 기본적인 build & deploy 설정만 다루겠습니다 😅.

build에는 execute shell을 선택후 pwd를 입력합니다. 아무것도 입력하지 않아도 상관없습니다.

image.png

다음으로 post build actions에서 deploy war/ear to container를 선택합니다. 선택 후 WAR/EAR files에는 '* * /*.war' 를 입력합니다. 직접 경로를 지정해주셔도 됩니다. 다음으로 Context path에는 war 파일의 이름인 sample.war 를 입력합니다.

image.png

다음으로 containers에서는 각자 deploy할 server의 버전을 선택합니다. 저는 tomcat 8.x version을 선택했습니다. Tomcat URL에는 tomcat server의 URL을 입력합니다.

image.png

마지막으로 앞서 생성한 tomcat deploy user 정보를 jenkins job에 입력합니다. Credentials에서 Add 버튼을 클릭합니다.

image.png

Domain과 Scope는 Global을 선택합니다. Kind에 Username with password를 선택하고 위의 deploy user 정보를 아래와 같이 입력해 저장합니다.

image.png

credentails에서 위에서 저장한 user를 선택합니다.

image.png

모든 설정이 완료되었습니다. 😎

5. Test

테스트해보도록 하겠습니다.

아래와 같이 생성된 deploy job을 실행해보겠습니다.

image.png

아래와 같이 정상적으로 job이 실행되었습니다.

image.png

console output은 아래와 같습니다. 정상적으로 deploy까지 완료한 것을 확인할 수 있습니다.

image.png

tomcat server를 확인해보면, 아래와 같이 sample.war 파일이 정상적으로 deploy 된 것을 확인할 수 있습니다.

image.png

화면도 정상적으로 출력됩니다. 👏👏👏

image.png


참고 자료 : https://www.youtube.com/watch?v=j5D8SLxn6YA&list=PLhW3qG5bs-L_ZCOA4zNPSoGbnVQ-rp_dG&index=11


추천서적

 

스프링 부트와 AWS로 혼자 구현하는 웹 서비스

COUPANG

www.coupang.com

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음


반응형

'Jenkins' 카테고리의 다른 글

[Jenkins] Gradle Build  (0) 2020.08.22
[Jenkins] Delivery Pipeline  (0) 2020.08.21
[Jenkins] Compile  (0) 2020.08.21
[Jenkins] Jobs  (0) 2020.08.21
[Jenkins] Basic Configurations  (0) 2020.08.21

댓글

Designed by JB FACTORY