Git과의 연동

플러그인 관리로 가서 확인 필요

github같은 경우는 이미 있음.

Global Tool Configuration 항목에 가서 Git을 설정할 수 있음.

기본으로 설정해 주면 됨.

Maven 설치

Tomcat 플러그인

Maven 프로젝트 만듬

pom.xml 을 가지고 빌드 해서

빌드 후 조치에서

Deploy war/ear to a container war 파일을 배포해라

Containers Credential 필요함.

war 파일을 deploy 까지 성공했다고 나옴.

Tomcat 에서 실행시켜줄 수 있음.

poll scm (빌드 유발)

주기적으로 build를 하는 방법

Build 속성에서

  • Build Periodically : 주기적으로 빌드(그냥 무조건 빌드함)
  • Poll SCM : 이 경우는 Commit여부를 가져와서 Build

Schedule 넣을 땐 ***** 이렇게 넣었다고 한다면 매 순간 한다는 뜻.

이렇게 넣어주면 소스코드가 변경되는 순간 Build => 서버에 배포 까지 해줌.

SSH + Docker 파일에 배포

  1. SSH 서버 만들어주기.(이것도 docker임, 서버1)
  2. war 파일을 SSH를 이용해서 복사 (서버2)
  3. (서버2) Dockerfile + *.war => Docker Image 빌드
  4. Docker Image -> 컨테이너 생성

Dockerfile

FROM tomcat:9.0

LABEL org.opencontainers.image.authors="edowon0623@gmail.com"

COPY ./hello-world.war /usr/local/tomcat/webapps

Jenkins에서 Dockerfile 사용하기

Exec Command

docker build --tag cicd-project -f Dockerfile .;
docker run -d -p 8080:8080 --name my-docker-server cicd-project:latest

이렇게하면, container 작동 되는 중에 한번더 빌드하면 실패한다.

왜냐면, 기존에 프로세스가 존재하면 run 이 제대로 되지 않음. 그러므로 삭제하는 작업을 넣어줘야하는데 이는 section 3번에서 제대로 다루기로 하였다.