Docker Jenkins SpringBoot 배포

JongHwa Hong·2023년 7월 13일

Docker-Jenkins

목록 보기
3/3
post-thumbnail

1. Dockerfile 작성

FROM openjdk:8

ARG JAR_FILE=target/*.war

COPY ${JAR_FILE} app.war

LABEL authors="whdghk1908"

ENV JAVA_OPTS="-Xms1g -Xmx2g"

##################################
### 배포환경에서 지정해줄 option 작성 ###
##################################
ENV APP_OPTS="$APP_OPTS --server.port=8080"
ENV APP_OPTS="$APP_OPTS --server.address=0.0.0.0"
ENV APP_OPTS="$APP_OPTS --server.servlet.context-path=/contextpath"

ENTRYPOINT java $JAVA_OPTS -jar app.war $APP_OPTS

2. Jenkins Build 세팅

  • 필요한 명령어
    • mvn package
      • .war 파일 생성
    • docker build -t mySpringBootApp
      • docker Image 빌드
    • docker stop mySpringBootApp || truedocker rm mySpringBootApp || true
      • 실행중인 mySpringBootApp 이름의 컨테이너가 있다면 정지시키고, 컨테이너 삭제
    • docker run -p 8080:8080 -d —name=mySpringBootApp mySpringBootApp
      • docker Container 실행
    • docker rmi -f $(docker images -f “dangling=true” -q) || true
      • 사용중이지 않은 docker image 삭제
  • Execute shell을 활용하여 세팅

빌드가 성공적으로 끝나게 되면, Jenkins 외부의 Docker 에서

docker ps 를 통해서 정상적으로 작동중인지 확인 가능하다.

profile
서버 개발자 홍종화 입니다.

0개의 댓글