From c395ed8e94375ffed6eb148b521c7b2541eccfed Mon Sep 17 00:00:00 2001 From: BcKmini Date: Wed, 29 Jul 2026 17:23:40 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20Dockerfile=EC=9D=B4=20Gradle=20=EB=9E=98?= =?UTF-8?q?=ED=8D=BC(9.5.1)=20=EB=8C=80=EC=8B=A0=20=EA=B3=A0=EC=A0=95=208.?= =?UTF-8?q?10=20=EC=9D=B4=EB=AF=B8=EC=A7=80=EB=A5=BC=20=EC=8D=A8=EC=84=9C?= =?UTF-8?q?=20=EB=B9=8C=EB=93=9C=20=EC=8B=A4=ED=8C=A8=ED=95=98=EB=8D=98=20?= =?UTF-8?q?=EB=AC=B8=EC=A0=9C=20=EC=88=98=EC=A0=95=20+=20=EB=B0=B0?= =?UTF-8?q?=ED=8F=AC=20=EC=9B=8C=ED=81=AC=ED=94=8C=EB=A1=9C=EC=9A=B0=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - gradle:8.10-jdk17 고정 이미지 대신 프로젝트의 ./gradlew(9.5.1) 사용하도록 변경 (Spring Boot 4.1.0 플러그인이 Gradle 8.14+ 요구, 8.10에서는 빌드 자체가 실패했음) - main push 시 GHCR 빌드/푸시 + AWS EC2 k3s 클러스터에 자동 반영하는 deploy.yml 추가 --- .github/workflows/deploy.yml | 39 ++++++++++++++++++++++++++++++++++++ Dockerfile | 5 ++--- 2 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..d4a1687 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,39 @@ +name: deploy + +on: + push: + branches: [main] + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v4 + + - uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - uses: docker/build-push-action@v6 + with: + context: . + push: true + tags: | + ghcr.io/fowoco/server:latest + ghcr.io/fowoco/server:${{ github.sha }} + + - name: Set up kubectl + run: | + mkdir -p ~/.kube + echo "${{ secrets.KUBE_CONFIG }}" | base64 -d > ~/.kube/config + + - name: Rollout + run: | + kubectl -n fowoco set image deployment/server \ + server=ghcr.io/fowoco/server:${{ github.sha }} \ + --record=false || echo "Deployment가 아직 없으면 최초 배포 후 자동으로 적용됩니다." diff --git a/Dockerfile b/Dockerfile index 738e678..3b5444b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,7 @@ -# TEMP: 심사용 임시 배포 Dockerfile — 정식 CI/CD·배포 파이프라인 확정 전까지 사용 -FROM gradle:8.10-jdk17 AS build +FROM eclipse-temurin:17-jdk-alpine AS build WORKDIR /app COPY . . -RUN gradle bootJar --no-daemon +RUN chmod +x gradlew && ./gradlew bootJar --no-daemon FROM eclipse-temurin:17-jre-alpine WORKDIR /app