11# github repository actions 페이지에 나타날 이름
2- name : CD for Release
2+ name : CD to dev using github actions
33
44# event trigger
5+ # develop 브랜치에 pull_request가 닫혔을 때 실행
56on :
6- release :
7- types : [created]
7+ pull_request :
8+ types : [ closed ]
9+ branches : [ "develop" ]
810
911permissions :
1012 contents : read
1113
1214jobs :
13- Release-CD :
15+ DEV-CD :
16+ if : github.event.pull_request.merged == true
1417 runs-on : ubuntu-latest
1518 steps :
1619 - uses : actions/checkout@v4
17-
18- - name : ' Set up JDK'
20+ - name : ' Set up jdk'
1921 uses : actions/setup-java@v3
2022 with :
2123 java-version : ' 17'
22- distribution : ' temurin'
23-
24- - name : Extract release version
25- id : version
26- run : echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
24+ distribution : ' temurin' # https://github.com/actions/setup-java
2725
2826 - run : touch ./Dockerfile
2927 - run : echo "${{ secrets.DEV_DOCKERFILE }}" > ./Dockerfile
@@ -39,22 +37,21 @@ jobs:
3937 restore-keys : |
4038 ${{ runner.os }}-gradle-
4139
42- # gradle build
40+ # # gradle build
4341 - name : Build with Gradle
4442 run : |
4543 chmod +x ./gradlew
4644 ./gradlew build -x test
4745
48- # docker build & push
49- - name : Docker build & push
46+ # # docker build & push to production
47+ - name : Docker build & push to dev
5048 run : |
5149 docker login clap.kr-central-2.kcr.dev -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
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
50+ docker build -t ${{ secrets.DOCKER_REPO }} .
51+ docker push ${{ secrets.DOCKER_REPO }}
5552
56- # deploy
57- - name : Deploy
53+ # # deploy to dev
54+ - name : Deploy to prod
5855 uses : appleboy/ssh-action@master
5956 id : deploy
6057 with :
6461 port : ${{ secrets.DEV_HOST_PORT }}
6562 script : |
6663 docker rm -f taskflow
67- docker image rm ${{ secrets.DOCKER_REPO }}:${{ steps.version.outputs.VERSION }} -f
64+ docker image rm ${{ secrets.DOCKER_REPO }} -f
6865 docker run --name taskflow -d -p 9090:9090 \
6966 --env-file /home/ubuntu/.env \
70- ${{ secrets.DOCKER_REPO }}:${{ steps.version.outputs.VERSION }} \
71- --restart on-failure
72-
67+ ${{ secrets.DOCKER_REPO }} \
68+ --restart on-failure
0 commit comments