Skip to content

Commit 0819346

Browse files
committed
CI: CICD 설정
1 parent fcf1de9 commit 0819346

File tree

1 file changed

+21
-22
lines changed

1 file changed

+21
-22
lines changed

.github/workflows/workflow.yml

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,19 @@ jobs:
1616
contents: read
1717

1818
steps:
19-
20-
## jdk setting
19+
# 1. 코드 체크아웃
2120
- uses: actions/checkout@v4
21+
22+
# 2. JDK 21 설정
2223
- name: Set up JDK 21
2324
uses: actions/setup-java@v4
2425
with:
2526
java-version: '21'
2627
distribution: 'temurin'
2728

28-
29-
## gradle caching
29+
# 3. Gradle 캐시
3030
- name: Setup Gradle
31-
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0
31+
uses: gradle/actions/setup-gradle@v3
3232
with:
3333
path: |
3434
~/.gradle/caches
@@ -37,44 +37,44 @@ jobs:
3737
restore-keys: |
3838
${{ runner.os }}-gradle-
3939
40-
## create application.yml (운영 환경 세팅)
41-
- name: make application.yml
40+
# 4. application.yml 생성
41+
- name: Make application.yml
4242
if: contains(github.ref, 'main') || contains(github.ref, 'refs/pull/')
4343
run: |
4444
mkdir -p ./src/main/resources
45-
cd ./src/main/resources
46-
touch application.yml
47-
echo "${{ secrets.APPLICATION_DEV_YML }}" > application.yml
48-
shell: bash
45+
echo "${{ secrets.APPLICATION_DEV_YML }}" > ./src/main/resources/application.yml
4946
47+
# 5. gradlew 실행 권한 부여
5048
- name: Grant Execute Permission For Gradlew
5149
run: chmod +x gradlew
5250

53-
## docker build & push
54-
- name: docker build
51+
# 6. Gradle로 JAR 빌드
52+
- name: Build JAR
53+
run: ./gradlew clean build
54+
55+
# 7. Docker 빌드 및 푸시
56+
- name: Docker Build & Push
5557
run: |
5658
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
57-
docker build -t ${{ secrets.DOCKER_USERNAME }}/decodeat .
59+
docker build -t ${{ secrets.DOCKER_USERNAME }}/decodeat:latest .
5860
docker push ${{ secrets.DOCKER_USERNAME }}/decodeat:latest
5961
60-
## docker deploy
61-
- name: Deploy to dev
62+
# 8. Docker 배포
63+
- name: Deploy to Dev
6264
uses: appleboy/ssh-action@master
63-
id: deploy-dev
64-
# if: contains(github.ref, 'develop')
6565
if: contains(github.ref,'main')
6666
with:
6767
key: ${{ secrets.PRIVATE_KEY }}
6868
host: ${{ secrets.HOST }}
6969
username: ${{ secrets.USERNAME }}
7070
port: 22
7171
script: |
72-
docker rm -f $(docker ps -qa)
73-
docker pull ${{ secrets.DOCKER_USERNAME }}/decodeat
72+
docker rm -f $(docker ps -qa) || true
73+
docker pull ${{ secrets.DOCKER_USERNAME }}/decodeat:latest
7474
docker-compose up -d
7575
docker image prune -f
7676
77-
## time
77+
# 9. 현재 시간 출력
7878
current-time:
7979
needs: CI-CD
8080
runs-on: ubuntu-latest
@@ -87,4 +87,3 @@ jobs:
8787
utcOffset: "+09:00"
8888
- name: Print Current Time
8989
run: echo "Current Time=${{steps.current-time.outputs.formattedTime}}"
90-
shell: bash

0 commit comments

Comments
 (0)