[Deployment_Tool] 10.Jenkins Deploy : local Server





Jenkins Deploy



저번 장에서는 github 에 commit한 소스를 jenkins 에서 빌드하고 정적 분석까지 하였습니다!

이제 배포할 일만 남았죠!

저는 local 서버에서 배포하는 방법과 remote 서버에 배포하는 방법 둘 다 해보겠습니다!

local 서버에서 한다는 말은 저희가 GCP에서 만들었던 jenkins 서버에 jenkins, tomcat 을 모두 설치하여 하나의 서버에서 빌드 및 테스트 배포를 다 하는 것이고,

remote 서버에 배포한다는 말은 jenkins 서버에서 jenkins를 이용해서 빌드 및 테스트하면 빌드된 파일 .war를 was 서버에 있는 톰캣에 전달하여 실질적인 서비스는 was 서버에서 이루어지는 것입니다!


Deploy to Local Server




local server 에서 배포의 흐름은 다음과 같습니다!


image



배포를 한 번 해보죠!

먼저, jenkins 서버에 tomcat을 설치해줍니다!


image



image



image




다운받은 후 톰캣의 포트번호를 변경해주어야합니다! 왜냐면 jenkins 서버의 8080 포트는 이미 jenkins가 사용하고 있기 때문입니다!

8088 포트로 변경해주겠습니다!


image



image



그 다음 GCP(Google Cloud Platform) 의 jenkins 서버 설정에 가서 8088 포트를 열어줍니다!


image



그 다음 /var/lib/tomcat8/conf/tomcat-users.xml 에 jenkins 연동을 위한 user 계정을 추가해줍니다!

jenkins에서 tomcat에 접근하려면 이 user 정보로 tomcat에 인증받아야합니다!


image



image




계정이름과 패스워드 기억해두시길 바랍니다!(좀 있다 사용)

그 후에 일단 어떤 IP에서든 접근할 수 있도록 /var/lib/tomcat8/conf/Catalina/localhost/manager.xml 을 수정해줍니다!


image



image




리눅스 환경에서의 설정은 모두 끝났습니다!

이제 톰캣을 재시작해줍니다!


image



위의 -Xmx128m 부분은 톰캣을 위해 힙영역에 128m 디폴트 메모리를 확보해놨다라는 것을 말합니다!


http:// jenkins서버아이피/8088 포트로 들어갔을 때 다음화면이 뜨면 성공입니다!


image



이제 jenkins 에 접속하여 DEPLOY TO CONTAINER 플러그인을 다운받아줍니다!


image



그리고 새로운 JOB deploy SWP to Local Tomcat을 생성합니다!


image



빌드 후 조치는 Deploy war/ear to a container를 선택합니다!

저희가 배포할 스프링 프로젝트의 루트 경로가 / 이므로 Context path를 /로 하고 Containers 에는 Ad를 눌러 아까 conf/tomcat-users.xml에 추가해두었던 계정 아이디와 비밀번호를 입력해줍니다!


image



그리고 Build Now!


image



읏.. 배포 실패입니다!

그 이유는 저희의 프로젝트 경로가 ‘/’ 루트경로이죠? 톰캣에 배포를 하게되면 /var/lib/tomcat8/webapps/ 경로에 ROOT.war 형태로 전달되는데 ROOT 라는 디렉토리도 자동으로 생성시켜줍니다!

그런데 이미 ROOT 디렉토리가 있기에 문제가된 것입니다!


image



원래 있던 ROOT 이름을 ORG로 바꾸고 다시 빌드해보겠습니다!


image



image




배포 성공했습니다~!


image



ROOT.war 와 ROOT 도 생성되었네요!

한 번 http:// jenkins서버아이피/8088 로 들어가 볼까요??


image



스프링 프로젝트가 무사히 빌드 후 배포되었네요~!

다음 장에서는 Remote 서버를 이용해서 배포하는 방법에 대해 알아보겠습니다