Skip to content

Commit 210258b

Browse files
🚀 [cicd] : 릴리즈 배포 CD 파일 수정
1 parent c53bd51 commit 210258b

File tree

1 file changed

+50
-11
lines changed

1 file changed

+50
-11
lines changed

.github/workflows/CD.yml

Lines changed: 50 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -39,26 +39,65 @@ jobs:
3939
run: touch ./nginxfile.conf
4040
- run: echo "${{ secrets.NGINX_FILE_CONF }}" > ./nginxfile.conf
4141

42-
- name: Create nginx.conf
42+
- name: Create Develop nginx.conf
4343
run: touch ./nginx.conf
4444
- run: echo "${{ secrets.NGINX_CONF }}" > ./nginx.conf
4545

46-
# docker build & push to production
47-
- name: Docker build & push
46+
# docker build & push to develop
47+
- name: Docker build & push develop
4848
run: |
49-
docker login clap.kr-central-2.kcr.dev -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
50-
docker build -t ${{ secrets.DOCKER_FRONT_REPO }}:${{ steps.version.outputs.VERSION }} .
51-
docker push ${{ secrets.DOCKER_FRONT_REPO }}:${{ steps.version.outputs.VERSION }}
52-
## deploy
53-
- name: Deploy
49+
docker login clap.kr-central-2.kcr.dev -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
50+
docker build -t ${{ secrets.DOCKER_FRONT_REPO }} .
51+
docker push ${{ secrets.DOCKER_FRONT_REPO }}
52+
53+
# deploy
54+
- name: Deploy Develop
5455
uses: appleboy/ssh-action@master
55-
id: deploy
56+
id: deploy develop
5657
with:
5758
host: ${{ secrets.FRONT_HOST }}
5859
username: ${{ secrets.FRONT_HOST_USERNAME }}
5960
key: ${{ secrets.FRONT_HOST_KEY }}
6061
port: ${{ secrets.FRONT_HOST_PORT }}
6162
script: |
6263
docker rm -f taskflow-front
63-
docker image rm ${{ secrets.DOCKER_FRONT_REPO }} -f
64-
docker run --name taskflow-front -d -p 80:80 -p 443:443 -v /etc/letsencrypt/:/etc/letsencrypt/ -v /etc/ssl/:/etc/ssl/ --restart on-failure ${{ secrets.DOCKER_FRONT_REPO }}:${{ steps.version.outputs.VERSION }}
64+
docker image rm -f ${{ secrets.DOCKER_FRONT_REPO }}
65+
docker run --name taskflow-front -d -p 80:80 -p 443:443 -v /etc/letsencrypt/:/etc/letsencrypt/ -v /etc/ssl/:/etc/ssl/ --restart on-failure ${{ secrets.DOCKER_FRONT_REPO }}
66+
67+
- name: Create Production nginx.conf
68+
- run: echo "${{ secrets.PROD_NGINX_CONF }}" > ./nginx.conf
69+
70+
# docker build & push to production
71+
- name: Docker build & push production
72+
run: |
73+
docker build -t ${{ secrets.DOCKER_FRONT_REPO }}:${{ steps.version.outputs.VERSION }} .
74+
docker push ${{ secrets.DOCKER_FRONT_REPO }}:${{ steps.version.outputs.VERSION }}
75+
76+
- name: Update Kubernetes Deployment
77+
run: |
78+
envsubst < ./taskflow.yaml
79+
env:
80+
IMAGE_TAG: ${{ env.IMAGE_TAG }}
81+
82+
# deploy
83+
- name: Transport taskflow.yaml to kubectl server
84+
uses: appleboy/scp-action@master
85+
with:
86+
host: ${{ secrets.KUBE_HOST }}
87+
username: ${{ secrets.KUBE_HOST_USERNAME }}
88+
key: ${{ secrets.KUBE_HOST_KEY }}
89+
port: ${{ secrets.KUBE_HOST_PORT }}
90+
overwrite: true
91+
source: ./taskflow.yaml
92+
target: ~/taskflow-front.yaml
93+
94+
- name: Deploy Prod
95+
uses: appleboy/ssh-action@master
96+
id: deploy prod
97+
with:
98+
host: ${{ secrets.KUBE_HOST }}
99+
username: ${{ secrets.KUBE_HOST_USERNAME }}
100+
key: ${{ secrets.KUBE_HOST_KEY }}
101+
port: ${{ secrets.KUBE_HOST_PORT }}
102+
script: |
103+
kubectl apply --filename taskflow-front.yaml

0 commit comments

Comments
 (0)