빌드 작업 설정

빌드 작업 설정

이 문서에서는 Webhook을 이용하여 전송된 프로젝트를 빌드하는 설정을 작성한다.

Maven을 사용하여 빌드를 수행할 예정이므로 Jenkins가 설치된 PC에 Maven이 설치되어 있어야 한다.

빌드 작업 추가

Add build step - Invoke top-level Maven targets 를 선택하여 빌드 작업을 추가한다.

만약 Maven이 설치되어 있지 않다면 다음 문서를 참조하여 설치 및 Jenkins와 연동한다.

pageMaven 연동

정보 작성

Maven version을 지정하고 Gols에 clean install을 입력한다. 여러 줄에 걸쳐 입력하거나 중간에 띄어쓰기를 작성한다.

고급 정보 작성

고급 버튼을 누르면 프로젝트를 빌드하기 위해 필요한 pom.xml의 위치를 지정할 수 있다. 별도의 설정이 없다면 다음과 같이 작성한다.

./(프로젝트명)/pom.xml

Maven 빌드 후에 해야하는 일

Github에 Push가 발생해서 Webhook으로 프로젝트 정보가 Jenkins에 들어오고, 빌드까지 자동으로 수행되었다면 Apache Tomcat과 같은 WAS에 배포하도록 설정하는 작업이 남았다.

이 내용은 WAS의 종류에 따라 다를 수 있으며, 이 문서에서는 Apache Tomcat 9를 기준으로 작성한다.

톰캣을 설치PC가 아닌 외부에서 접속하고 싶을 경우는 다음 문서를 통해 접근 허용 설정을 먼저 해야한다.

pageTomcat Manager 설정

Undeploy project

프로젝트가 현재 서비스 중일 수 있으므로 배포 해제를 수행할 수 있어야 한다. 톰캣은 다음과 같은 URL형태로 배포 해제 기능을 제공한다.

  • PROTOCOL://ID:PASSWORD@HOST:PORT/manager/text/undeploy?path=/PROJECT

예를 들어 WAS의 관리 계정이 admin , 비밀번호가 admin이고 localhost8080번 포트를 사용하고 http 프로토콜을 사용한다면 home 프로젝트 배포 해제 주소는 다음과 같다.

  • http://admin:admin@localhost:8080/text/undeploy?path=/home

Deploy project

배포 주소 역시 배포해제와 동일한 패턴을 가진다.

  • PROTOCOL://ID:PASSWORD@HOST:PORT/manager/text/deploy?path=/PROJECT&update=true

단, 배포를 위해서는 파일이 필요하기 때문에 해당 주소만으로는 기존에 존재하는 프로젝트만 재배포가 가능하다.

Using CURL

CURL은 터미널에서 HTTP 요청을 보낼 수 있도록 만들어진 요청 도구이다. 이 도구를 이용하면 각종 요청들을 짧은 코드로 수행할 수 있다.

배포 해제

curl -v "PROTOCOL://ID:PASSWORD@HOST:PORT/manager/text/undeploy?path=/PROJECT"

배포

curl -v --upload-file "업로드파일경로 " 
"PROTOCOL://ID:PASSWORD@HOST:PORT/manager/text/deploy?path=/PROJECT&update=true"

빌드 작업 추가

배포 해제 스크립트와 배포 스크립트를 각각 작성한다.

Last updated