43 lines
1.1 KiB
Docker
43 lines
1.1 KiB
Docker
FROM openjdk:17-alpine as BUILD_IMAGE
|
|
|
|
ENV WORK_DIR=/usr/app/
|
|
|
|
# app 작업 디렉토리 설정
|
|
WORKDIR $WORK_DIR
|
|
|
|
# gradle 실행을 위한 필수 디렉토리 준비
|
|
COPY gradlew $WORK_DIR
|
|
COPY build.gradle $WORK_DIR
|
|
COPY settings.gradle $WORK_DIR
|
|
COPY gradle $WORK_DIR/gradle
|
|
|
|
RUN ./gradlew test build || return 0
|
|
|
|
COPY src src
|
|
|
|
# jar 파일 build
|
|
RUN ./gradlew bootjar
|
|
|
|
FROM openjdk:17-alpine
|
|
|
|
ENV DOCKERIZE_VERSION v0.6.1
|
|
ENV WORK_DIR=/usr/app/
|
|
|
|
WORKDIR $WORK_DIR
|
|
|
|
COPY --from=BUILD_IMAGE $WORK_DIR/build/libs/*.jar dongne-api.jar
|
|
|
|
# run in order through dockerize utility (alpine version)
|
|
# link - https://github.com/jwilder/dockerize
|
|
RUN apk add --no-cache openssl bash
|
|
|
|
RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
|
|
&& tar -C /usr/local/bin -xzvf dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
|
|
&& rm dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz
|
|
|
|
COPY ./script/docker-entrypoint.sh docker-entrypoint.sh
|
|
|
|
RUN chmod +x docker-entrypoint.sh
|
|
|
|
ENTRYPOINT ["./docker-entrypoint.sh"]
|