Skip to content

Commit

Permalink
원상복귀
Browse files Browse the repository at this point in the history
  • Loading branch information
jsangmin99 committed Sep 5, 2024
1 parent 3086ffe commit e6ff675
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 27 deletions.
16 changes: 7 additions & 9 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -106,12 +106,10 @@ jobs:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

# Docker 빌드 및 푸시 (Docker 레이어 캐시 활성화)
- name: Build and Push Docker Image
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: jsangmin00/want_project:latest
cache-from: type=gha
cache-to: type=gha,mode=max
# Docker 빌드 및 푸시
- name: Docker Build and Push
env:
REPOSITORY: jsangmin00/want_project
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
run: |
docker build -t jsangmin00/want_project:latest .
31 changes: 13 additions & 18 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,31 +1,26 @@
# 첫 번째 스테이지: 애플리케이션 빌드
# 멀티 스테이지 빌드 방법 사용
# 첫번쨰 스테이지
FROM openjdk:11 as stage1
WORKDIR /app

# Gradle Wrapper와 빌드 파일 복사 (자주 변경되지 않는 파일)
# /app/gradlew 파일로 생성
COPY gradlew .
# /app/gradle 디렉토리로 생성
COPY gradle gradle
# /app/src 디렉토리로 생성
COPY src src
# /app/gradlew 파일로 생성
COPY build.gradle .
# gradlew 파일을 실행 가능하게 변경
COPY settings.gradle .

# Gradle 캐시 사용을 위한 Wrapper 실행 권한 부여
RUN chmod +x gradlew

# Gradle 종속성 미리 다운로드 (소스 코드 변경 없이 종속성만 캐싱)
RUN ./gradlew dependencies --no-daemon

# 소스 코드 복사 (자주 변경되는 부분)
COPY src src

# 애플리케이션 빌드
RUN ./gradlew bootJar --no-daemon
RUN ./gradlew bootJar

# 두 번째 스테이지: 빌드된 JAR 파일로 애플리케이션 실행
# 두번째 스테이지
FROM openjdk:11 as stage2
WORKDIR /app

# stage1에서 생성된 JAR 파일을 복사
# stage1에서 생성된 jar 파일을 stage2에 app.jar라는 이름으로 복사
COPY --from=stage1 /app/build/libs/*.jar app.jar

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

0 comments on commit e6ff675

Please sign in to comment.