๐Ÿš€Google Cloud Build ์‹œ์ž‘ํ•˜๊ธฐ

๋ฐœํ–‰: (2025๋…„ 12์›” 12์ผ ์˜คํ›„ 02:01 GMT+9)
5 min read
์›๋ฌธ: Dev.to

Source: Dev.to

Cover image for ๐Ÿš€Getting Started With Google Cloud Build

๐ŸŒฅ๏ธ Google Cloud Build๋ž€?

Google Cloud Build๋Š” Google Cloud์—์„œ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„๋ฆฌ์Šค CI/CD ํ”Œ๋žซํผ์œผ๋กœ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ ๊ณผ์ •์„ ์ž๋™ํ™”ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ์žฅ์ 

  • ์„œ๋ฒ„๋ฆฌ์Šค โ€“ ๋นŒ๋“œ ์„œ๋ฒ„๋ฅผ ํ”„๋กœ๋น„์ €๋‹ํ•˜๊ฑฐ๋‚˜ ๊ด€๋ฆฌํ•  ํ•„์š” ์—†์ด Cloud Build๊ฐ€ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๋ฅผ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • ์ž๋™ ์Šค์ผ€์ผ๋ง โ€“ ๋นŒ๋“œ ์ˆ˜์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ํ™•์žฅยท์ถ•์†Œ๋˜๋ฉฐ, ์‚ฌ์šฉํ•œ ๋นŒ๋“œ ์‹œ๊ฐ„๋งŒํผ๋งŒ ๋น„์šฉ์„ ์ง€๋ถˆํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹จ์ผ ๊ตฌ์„ฑ ํŒŒ์ผ โ€“ ๋ชจ๋“  ๋นŒ๋“œ ๋‹จ๊ณ„(๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ํŒจํ‚ค์ง•, ์ด๋ฏธ์ง€ ํ‘ธ์‹œ, ๋ฐฐํฌ ๋“ฑ)๋ฅผ ํ•˜๋‚˜์˜ YAML ๋˜๋Š” JSON ํŒŒ์ผ์— ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‚ด์žฅ ์ทจ์•ฝ์  ์Šค์บ” โ€“ CI/CD ์›Œํฌํ”Œ๋กœ์˜ ์ผ๋ถ€๋กœ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ๋ณด์•ˆ ์Šค์บ”์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์–‘ํ•œ ์†Œ์Šค ์ฝ”๋“œ ์ œ๊ณต์ž โ€“ Google Cloud Storage, Cloud Source Repositories, GitHub, Bitbucket ๋“ฑ์—์„œ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์–ด๋””๋“  ๋ฐฐํฌ โ€“ VM ์ธ์Šคํ„ด์Šค, Cloud Run, GKE, Firebase ๋˜๋Š” ๋‹ค๋ฅธ ํด๋ผ์šฐ๋“œ์— ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.
  • Cloud Builders โ€“ Docker, Maven, Node, Go, Python ๋“ฑ ์ผ๋ฐ˜์ ์ธ ๋„๊ตฌ๊ฐ€ ํฌํ•จ๋œ ์‚ฌ์ „ ๊ตฌ์ถ•๋œ ๋นŒ๋” ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•ด docker build, npm install, mvn package ๋“ฑ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿงฉ ๋นŒ๋“œ ๊ตฌ์„ฑ (cloudbuild.yaml)

Cloud Build์˜ ํ•ต์‹ฌ์€ ๋นŒ๋“œ ๊ตฌ์„ฑ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์„ ์†Œ์Šค ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ์ œ๊ณตํ•˜๋ฉด Cloud Build๊ฐ€ ์–ด๋–ค ๋‹จ๊ณ„๋ฅผ ์‹คํ–‰ํ• ์ง€ ํŒ๋‹จํ•ฉ๋‹ˆ๋‹ค.

์ด ํŒŒ์ผ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

YAML ๋˜๋Š” JSON ํŒŒ์ผ๋กœ ๋‹ค์Œ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค:

  • ๋นŒ๋“œ ๋‹จ๊ณ„
  • ์‚ฌ์šฉํ•  ๋นŒ๋” ์ด๋ฏธ์ง€
  • ์‹คํ–‰ํ•  ๋ช…๋ น
  • ๋ฐฐํฌ ๋Œ€์ƒ
  • ๋กœ๊ทธ ๋ฐ ์•„ํ‹ฐํŒฉํŠธ ์ €์žฅ ์œ„์น˜

์–ด๋–ค ๋‚ด์šฉ์ด ๋“ค์–ด๊ฐ€๋‚˜์š”?

  • Cloud Build๋ฅผ ์œ„ํ•œ ์ง€์‹œ๋ฌธ
  • ๋‹จ๊ณ„๋ณ„ ์ž‘์—…
  • ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ ์‚ฌ์–‘
  • Docker ์ด๋ฏธ์ง€ ์ •์˜
  • ์•„ํ‹ฐํŒฉํŠธ ์œ„์น˜
  • ๋ฐฐํฌ ์„ค์ •

๋ณดํ†ต ํŒŒ์ผ ์ด๋ฆ„์€ cloudbuild.yaml์ž…๋‹ˆ๋‹ค.

๐Ÿงฑ ์˜ˆ์‹œ: ์•„์ฃผ ๊ฐ„๋‹จํ•œ Cloud Build ํŒŒ์ผ

์•„๋ž˜๋Š” Docker ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๊ณ  Google Container Registry์— ํ‘ธ์‹œํ•˜๋Š” ๊ธฐ๋ณธ cloudbuild.yaml ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค:

steps:
  - name: 'gcr.io/cloud-builders/docker'
    args: ['build', '-t', 'gcr.io/$PROJECT_ID/myapp', '.']

  - name: 'gcr.io/cloud-builders/docker'
    args: ['push', 'gcr.io/$PROJECT_ID/myapp']

images:
  - 'gcr.io/$PROJECT_ID/myapp'

์ด ํŒŒ์ผ์ด ํ•˜๋Š” ์ผ

  • Docker ๋นŒ๋”๋ฅผ ์‚ฌ์šฉํ•ด ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋ฏธ์ง€๋ฅผ Google Container Registry์— ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ํ•ด๋‹น ์ด๋ฏธ์ง€๋ฅผ ์ตœ์ข… ์ถœ๋ ฅ์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๐ŸŽฏ ๊ฐœ๋ฐœ์ž๋“ค์ด Cloud Build๋ฅผ ์‚ฌ๋ž‘ํ•˜๋Š” ์ด์œ 

  • ๊ด€๋ฆฌํ•  ์„œ๋ฒ„๊ฐ€ ์—†์Œ
  • ๋น ๋ฅด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•จ
  • ๋ชจ๋†€๋ฆฌ์‹๊ณผ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋ชจ๋‘์— ์ ์šฉ ๊ฐ€๋Šฅ
  • Docker, Kubernetes, Cloud Run ๋“ฑ ์ง€์›
  • GitHub, GitLab ๋“ฑ๊ณผ ์†์‰ฌ์šด ์—ฐ๋™
  • ์„ค๊ณ„ ๋‹จ๊ณ„๋ถ€ํ„ฐ ๋ณด์•ˆ์ด ๋‚ด์žฌ๋จ

์ฝ”๋“œ โ†’ ์ปจํ…Œ์ด๋„ˆ โ†’ ๋ฐฐํฌ๊นŒ์ง€ ๋ช‡ ๋ถ„ ์•ˆ์— ์™„๋ฃŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ ๋งˆ๋ฌด๋ฆฌ ์ƒ๊ฐ

Google Cloud Build๋Š” ์œ ์ง€ ๋ณด์ˆ˜๊ฐ€ ์ ๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๋ฉฐ ๋ณด์•ˆ์ด ๋›ฐ์–ด๋‚œ CI/CD ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ดˆ๋ณด์ž์—๊ฒŒ๋„ ์ถฉ๋ถ„ํžˆ ๊ฐ„๋‹จํ•˜๋ฉด์„œ ์ „๋ฌธ๊ฐ€์—๊ฒŒ๋Š” ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. cloudbuild.yaml ํŒŒ์ผ๋งŒ ์žˆ์œผ๋ฉด ๋‚˜๋จธ์ง€๋Š” Cloud Build๊ฐ€ ์•Œ์•„์„œ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

Back to Blog

๊ด€๋ จ ๊ธ€

๋” ๋ณด๊ธฐ ยป

CI/CD ํŒŒ์ดํ”„๋ผ์ธ์—์„œ Zero Trust: ์‹ค์šฉ์ ์ธ DevSecOps ๊ตฌํ˜„ ๊ฐ€์ด๋“œ

ํ˜„๋Œ€ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์„ ๋ณดํ˜ธํ•˜๋Š” ๊ฒƒ์ด ํŒ€์ด cloud-native architectures๋ฅผ ์ฑ„ํƒํ•˜๊ณ  release cycles๋ฅผ ๊ฐ€์†ํ™”ํ•จ์— ๋”ฐ๋ผ ํฌ๊ฒŒ ๋” ์–ด๋ ค์›Œ์กŒ์Šต๋‹ˆ๋‹ค. Attacke...

DevOps๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

์†Œ๊ฐœ ์˜จ๋ผ์ธ์—์„œ โ€œWhat is DevOps?โ€๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋ณต์žกํ•œ ์ •์˜๊ฐ€ ๋งŽ์ด ๋‚˜์˜ต๋‹ˆ๋‹ค. ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” DevOps๋ฅผ ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. DevOps = De...

[AWS] DevTools Evangelism CodeBuild ์—๋””์…˜ [CodeBuild]

์†Œ๊ฐœ ์ด์ „ ๊ธฐ์‚ฌ์—์„œ ์—ฌ๋Ÿฌ AWS DevTools๋ฅผ ์†Œ๊ฐœํ–ˆ์ง€๋งŒ, ์ด๋ฒˆ์—๋Š” AWS CodeBuild๋ฅผ ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. AWS CodeBuild๋Š” ์ข…์ข… ์ž๋™ํ™”์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.