Skip to content

Commit 86d2a90

Browse files
committed
Merge remote-tracking branch 'origin/main'
2 parents 9a86189 + 407f168 commit 86d2a90

File tree

3 files changed

+83
-0
lines changed

3 files changed

+83
-0
lines changed

.github/workflows/deploy.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
on:
2+
push:
3+
branches:
4+
- main
5+
6+
jobs:
7+
deploy:
8+
runs-on: ubuntu-latest
9+
10+
steps:
11+
- name: Checkout source code (with submodules)
12+
uses: actions/checkout@v3
13+
with:
14+
submodules: recursive
15+
token: ${{ secrets.GH_PAT }}
16+
17+
- name: Set up Docker
18+
uses: docker/setup-buildx-action@v2
19+
with:
20+
version: latest
21+
22+
- name: Build with Gradle
23+
run: |
24+
./gradlew build
25+
26+
- name: Build Docker image
27+
run: |
28+
docker build -t day024/fitifitbannerit:latest -f Dockerfile .
29+
30+
- name: Log in to Docker Hub
31+
uses: docker/login-action@v2
32+
with:
33+
username: ${{ secrets.DOCKER_USERNAME }}
34+
password: ${{ secrets.DOCKER_PASSWORD }}
35+
36+
- name: Push Docker image to Docker Hub
37+
run: |
38+
docker push day024/fitifitbannerit:latest
39+
40+
# Set up AWS credentials for S3 operations
41+
- name: Set up AWS credentials
42+
uses: aws-actions/configure-aws-credentials@v1
43+
with:
44+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
45+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
46+
aws-region: ap-northeast-2 # 아시아 태평양(서울)
47+
48+
# EC2로 Docker Hub에서 이미지를 풀(pull)
49+
- name: Copy Docker image from Docker Hub to EC2
50+
uses: appleboy/[email protected]
51+
with:
52+
host: ${{ secrets.EC2_HOST }}
53+
username: ${{ secrets.EC2_USER }}
54+
key: ${{ secrets.EC2_KEY }}
55+
script: |
56+
# Docker 설치 (필요시)
57+
sudo apt-get update
58+
sudo apt-get install -y docker.io
59+
sudo systemctl start docker
60+
sudo systemctl enable docker
61+
62+
# Docker Hub에서 최신 이미지 풀
63+
docker pull day024/fitifitbannerit:latest
64+
65+
# 기존 컨테이너 중지 및 삭제 (필요시)
66+
docker ps -a -q --filter "name=fitifitbannerit" | xargs --no-run-if-empty docker stop | xargs --no-run-if-empty docker rm
67+
68+
# 새로운 컨테이너 실행
69+
docker run -d --name fitifitbannerit -p 8080:8080 day024/fitifitbannerit:latest

Dockerfile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Base image 설정 (JDK 17)
2+
FROM openjdk:17-jdk-slim
3+
4+
# 작업 디렉터리 설정
5+
WORKDIR /app
6+
7+
# 프로젝트에서 생성한 jar 파일을 컨테이너 내부로 복사
8+
COPY build/libs/BANnerIt-0.0.1-SNAPSHOT.jar app.jar
9+
10+
# Expose port
11+
EXPOSE 8080
12+
13+
# jar 파일 실행
14+
CMD ["java", "-jar", "/app/app.jar"]

gradlew

100644100755
File mode changed.

0 commit comments

Comments
 (0)