@@ -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