Notice
Recent Posts
Recent Comments
관리 메뉴

Developer Gonie

10. 젠킨스, 새로운 Item 추가 - Maven project 생성 본문

개인 공부/(CI | CD) Jenkins

10. 젠킨스, 새로운 Item 추가 - Maven project 생성

이대곤 2022. 11. 6. 02:07

1. item 이름 지정 및 프로젝트 타입 설정

- Maven으로 빌드시켜 war 파일을 생성할 것이기에 Maven project 를 선택하여 item(job)을 생성

- item 이름은 되도록 공백 없이 작성하는게 좋은거 같다. 디렉토리명이 되기 때문이다.
  나중에 깃에서 클론된 코드들은 /var/lib/jenkins/workspace/[item이름] 경로에 저장된다.


2. General 설정

- 뭐하는 설정인지 모르겠음..???


3. 소스 코드 관리

- 깃허브에서 어느 리포지토리를 clone 해올지를 브랜치와 함께 지정해줌.


4. 빌드 유발

- maven으로 언제 빌드시킬지를 지정함.

 

* 여기서 말하는 빌드는 깃허브 리포지토리에 있는 코드를 가져오는 것을 의미한다.

* 각 요소가 의미하는 바가 궁금하다면 아래 링크 참고

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=special9486&logNo=220274932377 

- Build after other projects are built : 다른 프로젝트가 빌드되었을 때 잇따라 빌드되도록 하는 설정

- Build periodically : 분, 시간, 일, 주, 월 등의 지정해둔 시간에 빌드가 되도록 하는 설정

- GitHub hook trigger for GITScm polling : 깃허브에 푸쉬 이벤트가 발생할 때 마다 빌드되도록 하는 설정

-  Poll SCM : 주기적으로 감시하여 변경된 사항이 존재할때 빌드를 수행하는 설정(Build periodically 에서 사용하는 값 사용)


5. 빌드 환경

- 빌드 시작전 혹은 빌드할 때 이뤄질 작업에 대한 설정을 할 수 있음.

Delete workspace before build starts : 빌드 시작전 workspace폴더(item들이 존재)의 내용을 지우는 설정


6. Build

- 깃허브에서 가져온 코드들을 Maven으로 빌드시킬건데 이때 사용할 pom.xml과 mvn 명령어를 지정해줌.

   pom.xml의 경로는 복사해서 옮겨진 로컬 내의 pom.xml 의 주소를 적어줘야 한다.

mvn clean install pakage

 

clean : 컴파일 된 결과물인 target 폴더를 지워주는 메이븐 명령어이고

 install 과 package : 프로젝트를 빌드하여 jar 실행 파일을 만들어주는 명령어입니다.

Mvn install vs package
mvn install 과 mvn package 의 차이점은 로컬 maven 폴더에 jar 파일을 저장해주냐 안해주냐의 차이입니다.

package 는 생성된 jar파일이 .target 폴더에 위치하고

install 은 생성된 jar 파일이 .target 하위 와, 로컬 mvn 폴더 내의 repoisoty 폴더 생성됩니다.


7. 빌드 후 조치

- 빌드 후에 생성된 war 파일을 Tomcat의 webapp 폴더로 옮겨지게 해(tomcat manager가 하게 함) 
  압축이 풀어지게 하며 바로 배포됨.

Comments