Skip to content

Commit

Permalink
dockerfile 1차 테스트
Browse files Browse the repository at this point in the history
  • Loading branch information
jsangmin99 committed Sep 5, 2024
1 parent 7d0f6f5 commit 077d128
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 15 deletions.
18 changes: 9 additions & 9 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,20 +81,23 @@ jobs:
runs-on: ubuntu-latest

steps:
# GitHub 저장소 체크아웃
- name: Checkout code
uses: actions/checkout@v2

# JDK 11 설정
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'temurin'

# Gradle로 Java 애플리케이션 빌드 (또는 Maven 사용 시 mvn package)
- name: Build with Gradle
run: ./gradlew bootJar
# # Gradle 캐시 활성화
# - name: Cache Gradle packages
# uses: actions/cache@v3
# with:
# path: ~/.gradle/caches
# key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
# restore-keys: |
# ${{ runner.os }}-gradle-

# Docker Hub 로그인
- name: Docker Hub login
Expand All @@ -109,8 +112,5 @@ jobs:
REPOSITORY: jsangmin00/want_project
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
run: |
# Docker 이미지 빌드
docker build -t $DOCKER_USERNAME/$REPOSITORY:latest -f ./Dockerfile .
# Docker Hub로 이미지 푸시
docker build -t $REPOSITORY:latest -f ./Dockerfile .
docker push $DOCKER_USERNAME/$REPOSITORY:latest
32 changes: 26 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,26 @@
# 비교를 위한 Dockerfilek 사용 안함
FROM openjdk:11-jre-slim as builder
EXPOSE 8088
ARG JAR_FILE=target/*.jar
WORKDIR application
COPY ${JAR_FILE} application.jar
# 멀티 스테이지 빌드 방법 사용
# 첫번쨰 스테이지
FROM openjdk:11 as stage1
WORKDIR /app

# /app/gradlew 파일로 생성
COPY gradlew .
# /app/gradle 디렉토리로 생성
COPY gradle gradle
# /app/src 디렉토리로 생성
COPY src src
# /app/gradlew 파일로 생성
COPY build.gradle .
# gradlew 파일을 실행 가능하게 변경
COPY settings.gradle .

RUN ./gradlew bootJar

# 두번째 스테이지
FROM openjdk:11 as stage2
WORKDIR /app
# stage1에서 생성된 jar 파일을 stage2에 app.jar라는 이름으로 복사
COPY --from=stage1 /app/build/libs/*.jar app.jar

# CMD 또는 ENTRYPOINT를 사용하여 실행할 명령어를 지정
ENTRYPOINT ["java", "-jar", "app.jar"]

0 comments on commit 077d128

Please sign in to comment.