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 파일에 배포
- SSH 서버 만들어주기.(이것도 docker임, 서버1)
- war 파일을 SSH를 이용해서 복사 (서버2)
- (서버2) Dockerfile + *.war => Docker Image 빌드
- 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번에서 제대로 다루기로 하였다.