๐Ÿ›ณ BE TIL Day 39 0505

JBยท2022๋…„ 5์›” 5์ผ
0

Backend02 Deploy

๋ชฉ๋ก ๋ณด๊ธฐ
5/5

๐Ÿ‹ Apache Jmeter

: ์„ฑ๋Šฅํ…Œ์ŠคํŠธ

Kuberetes Engine > Workload > my-backend-02 > YAML


๐Ÿ‹ CI/CD

: Making develop to deploy in automatic way
Continuous Integration: ์ง€์†์  ํ†ตํ•ฉ
Continuous Deployment: ์ง€์†์  ๋ฐฐํฌ

๐Ÿ”น How things work

[ 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 ํ•ด์ฃผ๋ฉด ์•Œ์•„์„œ ๋ฐฐํฌ๊ฐ€ ๋˜์–ด์žˆ๋Š”๊ฑฐ์ž„

Cloud Build Settings

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


โžก๏ธ ์ฃผ์„์ฒ˜๋ฆฌ


profile
๋‘๋น„๋‘๋ฐฅ๋ฐฅ

0๊ฐœ์˜ ๋Œ“๊ธ€