Skip to content

Commit b317641

Browse files
authored
Create docker-image.yml
1 parent c78f1d7 commit b317641

1 file changed

Lines changed: 55 additions & 0 deletions

File tree

.github/workflows/docker-image.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Build, Package, and Push Docker Image
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
build-package-and-push:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
# 1. 저장소의 코드를 체크아웃
14+
- name: Checkout code
15+
uses: actions/checkout@v3
16+
17+
# 2. JDK 설치 (Gradle 빌드에 필요)
18+
- name: Set up JDK
19+
uses: actions/setup-java@v3
20+
with:
21+
distribution: 'temurin' # OpenJDK 배포판
22+
java-version: '17' # Java 버전 (Spring Boot 3.x의 경우 Java 17 이상 필요)
23+
24+
# 3. Gradle 캐시 설정 (빌드 속도 향상)
25+
- name: Cache Gradle packages
26+
uses: actions/cache@v3
27+
with:
28+
path: MathCaptain/weakness/.gradle/caches
29+
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
30+
restore-keys: |
31+
${{ runner.os }}-gradle-
32+
33+
# 4. Gradle 빌드 및 JAR 파일 생성
34+
- name: Build JAR file using Gradle
35+
run: MathCaptain/weakness/gradlew clean bootJar
36+
37+
# 5. Docker Hub 로그인
38+
- name: Log in to Docker Hub
39+
uses: docker/login-action@v2
40+
with:
41+
username: ${{ secrets.DOCKERHUB_USERNAME }}
42+
password: ${{ secrets.DOCKERHUB_PASSWORD }}
43+
44+
# 6. Docker 이미지 빌드 및 태깅 (자동 태그 증가)
45+
- name: Build and tag Docker image
46+
run: |
47+
VERSION=0.${{ github.run_number }}
48+
docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/weakness_server:$VERSION .
49+
docker tag ${{ secrets.DOCKERHUB_USERNAME }}/weakness_server:$VERSION
50+
51+
# 7. Docker Hub에 푸시
52+
- name: Push Docker image to Docker Hub
53+
run: |
54+
VERSION=0.${{ github.run_number }}
55+
docker push ${{ secrets.DOCKERHUB_USERNAME }}/weakness_server:$VERSION

0 commit comments

Comments
 (0)