Skip to content

Commit f1d3557

Browse files
committed
CLAP-338 Feat: 릴리즈 cd github actions 워크플로우 구현
<footer> - #433
1 parent 13cbc27 commit f1d3557

File tree

1 file changed

+22
-18
lines changed

1 file changed

+22
-18
lines changed

.github/workflows/dev-cd.yml

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,29 @@
11
# github repository actions 페이지에 나타날 이름
2-
name: CD to dev using github actions
2+
name: CD for Release
33

44
# event trigger
5-
# develop 브랜치에 pull_request가 닫혔을 때 실행
65
on:
7-
pull_request:
8-
types: [ closed ]
9-
branches: [ "develop" ]
6+
release:
7+
types: [created]
108

119
permissions:
1210
contents: read
1311

1412
jobs:
15-
DEV-CD:
16-
if: github.event.pull_request.merged == true
13+
Release-CD:
1714
runs-on: ubuntu-latest
1815
steps:
1916
- uses: actions/checkout@v4
20-
- name: 'Set up jdk'
17+
18+
- name: 'Set up JDK'
2119
uses: actions/setup-java@v3
2220
with:
2321
java-version: '17'
24-
distribution: 'temurin' # https://github.com/actions/setup-java
22+
distribution: 'temurin'
23+
24+
- name: Extract release version
25+
id: version
26+
run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
2527

2628
- run: touch ./Dockerfile
2729
- run: echo "${{ secrets.DEV_DOCKERFILE }}" > ./Dockerfile
@@ -37,21 +39,22 @@ jobs:
3739
restore-keys: |
3840
${{ runner.os }}-gradle-
3941
40-
## gradle build
42+
# gradle build
4143
- name: Build with Gradle
4244
run: |
4345
chmod +x ./gradlew
4446
./gradlew build -x test
4547
46-
## docker build & push to production
47-
- name: Docker build & push to dev
48+
# docker build & push
49+
- name: Docker build & push
4850
run: |
4951
docker login clap.kr-central-2.kcr.dev -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
50-
docker build -t ${{ secrets.DOCKER_REPO }} .
51-
docker push ${{ secrets.DOCKER_REPO }}
52+
docker build -t ${{ secrets.DOCKER_REPO }}:${{ steps.version.outputs.VERSION }} -t ${{ secrets.DOCKER_REPO }}:latest .
53+
docker push ${{ secrets.DOCKER_REPO }}:${{ steps.version.outputs.VERSION }}
54+
docker push ${{ secrets.DOCKER_REPO }}:latest
5255
53-
## deploy to dev
54-
- name: Deploy to prod
56+
# deploy
57+
- name: Deploy
5558
uses: appleboy/ssh-action@master
5659
id: deploy
5760
with:
@@ -61,8 +64,9 @@ jobs:
6164
port: ${{ secrets.DEV_HOST_PORT }}
6265
script: |
6366
docker rm -f taskflow
64-
docker image rm ${{ secrets.DOCKER_REPO }} -f
67+
docker image rm ${{ secrets.DOCKER_REPO }}:${{ steps.version.outputs.VERSION }} -f
6568
docker run --name taskflow -d -p 9090:9090 \
6669
--env-file /home/ubuntu/.env \
67-
${{ secrets.DOCKER_REPO }} \
70+
${{ secrets.DOCKER_REPO }}:${{ steps.version.outputs.VERSION }} \
6871
--restart on-failure
72+

0 commit comments

Comments
 (0)