간단히 Maven Job을 설정하는 방법과 그 설정에 대해 알아보겠습니다.
플러그인
플러그인은 기본 설정으로 설치되는 플러그인 외 다음 2가지를 설치하였습니다.
Maven Integration plugin은 Maven Project Job을 생성 가능케 해주고, Deploy to container Plugin은 빌드 후 톰캣 서버에 자동배포하게 해줍니다. 그리고 Subversion Plug-in은 SVN을 사용하게 해줍니다.
생성한 Job 종류
Maven project로 Job을 생성하였습니다.
Job 설정
General
job의 기본적인 설정을 정의합니다.
크게 눈여겨볼만한 옵션은 없습니다. 하단에 보시면 JDK 라는게 있는데 안보이시는 분도 있을 겁니다.
Global Tool Configuration에서 JDK을 설정하면 General에서 JDK가 보입니다. 하지만 아무것도 설정하지 않으면 JDK 목록이 안보입니다.
간단히 설명하자면 빌드를 할 때 어느 JDK를 사용할지 설정하는 곳입니다. Install automatically를 체크하게 되면 시스템 내 설치된 자바가 아닌 젠킨스에서 자동으로 JDK를 설치해줍니다.
하지만 저는 이미 서버 내 JDK을 설치해줬기 때문에 JDK 목록에서 (System)을 클릭했습니다.
소스 코드 관리(source code management)
job에서 사용할 source code의 위치를 정의합니다.
만약 Subversion이 안보인다면 플러그인으로 Subversion을 설치해주셔야 합니다.
Repository URL
현재 사용하고 SVN의 주소를 넣어주시면 됩니다. 만약 하위 프로젝트들이 여러개 존재한다면 svn 주소 뒤에 프로젝트 명을 작성하면 됩니다.
Credentials
SVN 계정을 적는 곳입니다.
오른쪽 Add 버튼을 눌러 계정을 추가해주면 됩니다.
빌드 유발(build triggers)
job을 실행시킬 trigger event를 선택합니다.
Poll SCM
형상관리 서버에를 주기적으로 감시하여 변경된 사항이 존재할때 빌드를 수행하는 설정입니다.
주기적으로 감시를 하기 위해서 위 4번 항목에 설정하는 시간값을 등록을 하게 되며, 해당 시간에 형상관리 서버를 확인하여 변경된 사항이 있다면 빌드를 수행합니다.
15분 간격으로 빌드 작업을 수행
H/15 * * * *
모든 시간의 첫 30분 동안에 10분 간격으로 빌드를 수행
H(0-29)/10 * * * *
주말을 제외한 주중에 9시부터 16시 사이에 2시간에 한번씩 빌드를 수행
H 9-16/2 * * 1-5
12월 달은 제외하고 매달 1일과 15일에 한번씩 빌드를 수행
H H 1,15 1-11 *
빌드(Build)
job이 실행될때 수행할 build를 작성합니다.
Maven Version
위 General에서 JDK 설정한 것 마찬가지로 Global Tool Configuration에서 설정한 것을 사용할 수 있습니다.
Root POM
SVN 프로젝트에서의 pom.xml 위치입니다. pom.xml 위치 기준은 작업공간의 pom.xml 위치 기준입니다.
빌드 후 조치
빌드를 완료한 후에 대한 조치를 설정합니다. 여기는 Deploy와 관련있습니다.
WAR/EAR files
BUILD SUCCESS가 된 후 Deploy할 WAR 파일입니다. 경로로 작성해줍니다.
Container
배포할 톰캣을 설정하는 곳입니다. 현재 서버에 맞는 톰캣을 설정해줘야 합니다. 그리고 이 부분의 Credentials는 SVN 계정이 아닌 tomcat-users.xml에서 설정한 계정을 작성해주어야 합니다.
Tomcat URL
현재 실행되고 있는 톰캣 주소입니다.
'...' 카테고리의 다른 글
[ElasticSearch] org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root (0) | 2021.08.11 |
---|---|
[ElasticSearch] 서버 내 ElasticSearch 설치하기 (0) | 2021.08.11 |
[Jenkins] Jenkins 시간 변경 (0) | 2021.08.11 |
[Jenkins] 우리의 친절한 비서 Jenkins (0) | 2021.08.11 |
[Jenkins] war파일에 1.0.0-BUILD-SNAPSHOT 안붙게 하기 (0) | 2021.08.11 |