: ์ฑ๋ฅํ
์คํธ
Kuberetes Engine > Workload > my-backend-02 > YAML
: Making develop to deploy in automatic way
Continuous Integration: ์ง์์ ํตํฉ
Continuous Deployment: ์ง์์ ๋ฐฐํฌ
[ Flow ]
vscode --> git push --> github --> GCP
1. Add cloudbuild.yaml to vscode and do git add commit push.
2. Create the ๊ทธ๋ฆฌ๊ณ ์ฌ์ ์ github๋ GCP์ ํต๋ก๋ฅผ ๋ง๋ค์ด๋๊ณ
cloudbuild.yaml์ github๊ฐ ํ์ธํ๊ณ GCP์ ์๋์ผ๋ก docker-compose build, push ํด์ฃผ๋๊ฑฐ์
โฌ๏ธ VS Code > cloudbuild.yaml
steps:
#1 ๋จ๊ณ => docker-compose -f docker-compose.prod.yaml build
- name: docker/compose: 1.29.0 # ์ด๊ฑธ ์ฌ์ฉํด์ ์๋ ๋ช
๋ น์ ์คํํ๊ฒ ๋ค โฌ
args:
- -f
- docker-compose.prod.yaml
- build
# 2 ๋จ๊ณ => docker-compose -f docker-compose.prod.yaml push
- name: docker/compose:1.29.0
args:
- -f
- docker-compose.prod.yaml
- push
# 3 ๋จ๊ณ => kubectl set image deployment/my-backend-02 my-backend02-sha256-1=asia.gcr.io/wise-invention-347011/my-backend02:15.1
- name: gcr.io/cloud-builders/kubectl
args:
- set
- image
- deployment/my-backend-02
- my-backend02-sha256-1=asia.gcr.io/wise-invention-347011/my-backend02:15.1
env:
- CLOUDSDK_COMPUTE_ZONE=asia-northeast3 # ์ง์ญ
- CLOUDSDK_CONTAINER_CLUSTER=autopilot-cluster-02-1 # Cluster name
# ๊ฒฐ๊ตญ์๋ ๊ฐ๋ฐ์๊ฐ ์ค์ ์ ํด๋์ ์ฌ๋์ด ์
๋ ฅํ ๊ฑฐ๋ฅผ ์ปดํจํฐ๊ฐ ์๋์ผ๋ก ์คํ์ ํด์ฃผ๋๊ฑฐ์
## ์ ๋ ์๋์ผ๋ก ์ ์ ๋ก ๋๋๊ฑด ์์
### ์ด์ ์ด๊ฑธ git push ํด์ฃผ๋ฉด ์์์ ๋ฐฐํฌ๊ฐ ๋์ด์๋๊ฑฐ์
!! Connect Repository
Cloud Build > triggers > connect repository => select source = Github(Cloud Build Github App) // Authenticate // Select Repository > create a trigger
!! Create A Trigger
Nothing special, but the Configuration:
!! Cloud Build Settings
Cloud Build > Settings > Kubernetes Engine => Enabled
!! VS Code Changes
โก๏ธ ์ฃผ์์ฒ๋ฆฌ