1- name : Build and Deploy on Self-Hosted Runner
1+ name : Deploy Tokkit Client
22
33on :
44 push :
55 branches :
6- - develop
6+ - main
7+
8+ permissions :
9+ id-token : write
10+ contents : read
711
812jobs :
913 deploy :
10- runs-on : self-hosted
14+ runs-on : ubuntu-latest
1115
1216 steps :
13- - name : 코드 가져오기 (pull)
14- run : |
15- cd /home/tokkit/Tokkit-Client
16- git pull origin develop
17-
18- - name : Checkout Repository
17+ - name : Checkout code
1918 uses : actions/checkout@v3
2019
21- - name : Docker Compose Down
20+ - name : Generate .env file from secret
2221 run : |
23- cd /home/tokkit
24- docker compose down
22+ echo "${{ secrets.CLIENT_ENV }}" > .env
2523
26- - name : Docker Compose Build
24+ - name : Configure AWS credentials
25+ uses : aws-actions/configure-aws-credentials@v2
26+ with :
27+ role-to-assume : arn:aws:iam::233777023703:role/tokkit-github-actions-ecr-role
28+ aws-region : ap-northeast-2
29+
30+ - name : Login to Amazon ECR
2731 run : |
28- cd /home/tokkit
29- docker compose build
32+ aws ecr get-login-password --region ap-northeast-2 \
33+ | docker login --username AWS --password-stdin 233777023703.dkr.ecr.ap-northeast-2.amazonaws.com
3034
31- - name : Docker Compose Up
35+ - name : Build and Push Docker Image to ECR (Client)
3236 run : |
33- cd /home/tokkit
34- docker compose up -d
37+ docker build -t tokkit-client .
38+ docker tag tokkit-client:latest 233777023703.dkr.ecr.ap-northeast-2.amazonaws.com/tokkit-client
39+ docker push 233777023703.dkr.ecr.ap-northeast-2.amazonaws.com/tokkit-client
3540
41+ - name : Trigger CodeDeploy for Client
42+ run : |
43+ aws deploy create-deployment \
44+ --application-name tokkit-client-app \
45+ --deployment-group-name tokkit-client-dg \
46+ --s3-location bucket=tokkit-codedeploy-bucket,key=deployments/tokkit-client.zip,bundleType=zip \
47+ --region ap-northeast-2
0 commit comments