์ผ๋‹จ ํ•˜๊ณ  ๋ณด๋Š” ์‚ฌ๋žŒ

๋‚˜์ค‘๋ณด๋‹จ ์ง€๊ธˆ์— ์ง‘์ค‘ํ•˜๋˜, ์ง€๊ธˆ๋ณด๋‹จ ๋‚˜์ค‘์— ์™„๋ฒฝํ•ด์ง€์ž๐Ÿ’ช๐Ÿป

๐Ÿ—ž๏ธ IT ๋™ํ–ฅ ํŒŒ์•… ๋ฐ ๋‚˜์˜ ์ƒ๊ฐ ์ •๋ฆฌ

CI์™€ CD๋Š” ์™œ ๋ถ„๋ฆฌ๋˜์–ด์•ผ ํ•˜๋Š” ๊ฐ€?

JanginTech 2024. 9. 3. 09:35

1. Why CI and CD Need to Go Their Separate Ways

https://thenewstack.io/why-ci-and-cd-need-to-go-their-separate-ways/

 

Why CI and CD Need to Go Their Separate Ways

Explore how continuous promotion addresses the limitations of traditional CI/CD pipelines.

thenewstack.io

Featured image by Tormius on Unsplash.

 

 

[ ์š”์•ฝ ]

1. CI / CD์˜ ์ง„ํ™”

  • CI/CD๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์— ํ•„์ˆ˜์ ์ด๋ฉฐ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ์†๋„์™€ ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ๋‹ค.
  • ์ดˆ๊ธฐ์—๋Š” ์ฝ”๋“œ ๋นŒ๋“œ → ํ…Œ์ŠคํŠธ → ๋ฐฐํฌ์˜ ์ˆœ์„œ๋กœ ์ž‘๋™ํ–ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ๋ฐฐํฌ ํ™˜๊ฒฝ์ด ๋น„๊ต์  ์ •์ ์ธ ๊ธฐ์กด ๊ฐ€์ƒ ๋จธ์‹ ์ด๋‚˜ ๋ฌผ๋ฆฌ์  ์„œ๋ฒ„์—์„œ ์ž˜ ์ž‘๋™ํ–ˆ๋‹ค.
  • ๊ทธ๋Ÿฌ๋‚˜ ์ปจํ…Œ์ด๋„ˆ(ex. ๋„์ปค), ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ๋“ฑ์žฅ์œผ๋กœ ๋ณ€ํ™”๊ฐ€ ์ƒ๊ฒผ๋‹ค. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ๋™์ ์ด๊ณ  ๋น„๋™๊ธฐ์ ์ธ ๋ฐฐํฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•˜์—ฌ ๊ธฐ์กด CI/CD ํ”„๋กœ์„ธ์Šค์˜ ๋™๊ธฐ์  ํŠน์„ฑ๊ณผ ์ถฉ๋Œ์„ ์ผ์œผํ‚ค๊ฒŒ ๋˜์—ˆ๋‹ค.
  • ์ „ํ†ต์ ์ธ CI/CD ๋ฐฉ์‹์ด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ์œ ์—ฐํ•œ ๋ฐฐํฌ ํ™˜๊ฒฝ๊ณผ ์ž˜ ๋งž์ง€ ์•Š๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ถˆ์ผ์น˜๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด GitOps๊ฐ€ ๋„์ž…๋˜์—ˆ์ง€๋งŒ, ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ์˜ ๋ฐฐํฌ ๊ด€๋ฆฌ๊ฐ€ ๋น„ํšจ์œจ์ ์ด๊ณ  ๋ณต์žกํ•˜์—ฌ ๋˜ ๋‹ค๋ฅธ ๋ฐฉ์•ˆ์„ ์ฐพ๋Š” ๊ฒƒ์ด ํ•„์š”ํ–ˆ๋‹ค.

2. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์™€ GitOps์˜ ๋„์ž… ์ดํ›„

  • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์™€ ๊ธฐ์กด CI/CD ํ”„๋กœ์„ธ์Šค์˜ ๋™๊ธฐ์ /๋น„๋™๊ธฐ์  ํŠน์„ฑ์˜ ์ถฉ๋Œ๋กœ ์ธํ•œ ๋‹จ์ ˆ์ด ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ๋‹ค.
  • GitOps๋Š” ์ตœ์ข… ๋ฐฐํฌ ์ƒํƒœ์—๋งŒ ์ง‘์ค‘ํ•˜๋ฏ€๋กœ, ๋ณต์žกํ•œ ๋‹ค์ค‘ ํ™˜๊ฒฝ *์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜(์—ฌ๋Ÿฌ IT ์ž๋™ํ™” ํƒœ์Šคํฌ ๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์กฐ์ •ํ•˜์—ฌ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ)์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋‹ค. 

 

3. ๊ทธ๋ž˜์„œ ์–ด๋–ป๊ฒŒ? โžก๏ธ Continuous Promotion

  • CI์™€ CD ์‚ฌ์ด์˜ ๊ฐ„๊ทน์„ ๋ฉ”์šฐ๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ๊ฐœ๋…
  • ํŠนํžˆ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์™€ GitOps์™€ ๊ฐ™์€ ์ตœ์‹  ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ „ํ†ต์ ์ธ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์˜ ํ•œ๊ณ„๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค
  • ์‚ฌ์ „์— ์ •์˜๋œ ๊ทœ์น™๊ณผ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ํ”„๋กœ๋ชจ์…˜ ํ•˜๋Š” ์ค‘๊ฐ€ ๋‹จ๊ณ„๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค
  • ๋” ์„ธ๋ฐ€ํ•œ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค ์ œ์–ด, CI์™€ CD ์—ญํ•  ๋ถ„๋ฆฌ ์ „์ฒด ํ”„๋กœ์„ธ์Šค์˜ ์‹ ๋ขฐ์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ๋†’์ž„
  • ex. Kargo

 

 

๊ฒฐ๋ก 

CI์™€ CD๊ฐ€ ๋ถ„๋ฆฌ๋˜์–ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

CI๋Š” ์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ์ž์ฃผ ํ†ตํ•ฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ๋นจ๋ฆฌ ๋ฐœ๊ฒฌํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘๋Š” ๋ฐ˜๋ฉด์—, CD๋Š” ์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ํ”„๋กœ๋•์…˜์— ๋ฐฐํฌํ•˜๋Š” ๊ณผ์ •์— ์ค‘์ ์„ ๋‘”๋‹ค.

์ด ๋‘˜์˜ ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ๋ณต์žก์„ฑ์€ ์ ์  ๋‹ฌ๋ผ์ง€๊ณ  ์žˆ๊ณ , ๊ฐ๊ฐ์˜ ๊ธฐ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด CI์™€ CD๋ฅผ ๋ถ„๋ฆฌํ•  ํ•„์š”์„ฑ์ด ์ปค์ง€๊ณ  ์žˆ์Œ์„ ๊ฐ•์กฐํ•œ๋‹ค.

 

 

โž•

CI(Continuous Integration) & CD(Continuous Delivery)?

  • ์ง€์†์ ์ธ ํ†ตํ•ฉ๊ณผ ์ง€์†์ ์ธ ์ „๋‹ฌ
  • ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ž๋™์œผ๋กœ ํ…Œ์ŠคํŠธํ•˜๊ณ  ๋ฐฐํฌํ•˜์—ฌ ๊ฐœ๋ฐœ ์†๋„๋ฅผ ๋†’์ด๊ณ  ํ’ˆ์งˆ์„ ์œ ์ง€ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค

์ปจํ…Œ์ด๋„ˆ: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ทธ ์ข…์†์„ฑ์„ ๊ฒฉ๋ฆฌํ•ด ์ผ๊ด€๋œ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค: ์ปจํ…Œ์ด๋„ˆํ™”๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž๋™์œผ๋กœ ๋ฐฐํฌ, ํ™•์žฅ, ๊ด€๋ฆฌํ•˜๋Š” ํ”Œ๋žซํผ์œผ๋กœ ๋ณต์žกํ•œ ์ธํ”„๋ผ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์šด์˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์คŒ

 

 

 


 

๐Ÿค” ์ด์— ๋Œ€ํ•œ ๋‚˜์˜ ์ƒ๊ฐ

๊ธฐ์ˆ ์ด ์ ์  ๋ฐœ์ „ํ•˜๊ณ  ์žˆ์Œ์„ ๋А๋‚€๋‹ค. ํŠนํžˆ CI/CD์™€ ๊ด€๋ จ๋œ ์ƒˆ๋กœ์šด ์ ‘๊ทผ ๋ฐฉ์‹, Continuous Promotion๊ณผ ๊ฐ™์€ ๊ฐœ๋…์€ ํ˜„๋Œ€์˜ ๋ณต์žกํ•œ ๋ฐฐํฌ ํ™˜๊ฒฝ์—์„œ ๋” ๋‚˜์€ ์ž๋™ํ™”์™€ ํšจ์œจ์„ฑ์— ๋„์›€์„ ์ค€๋‹ค.

Kargo์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ์šฐ๋ฆฌ๋Š” ๋”์šฑ ์ •๊ตํ•˜๊ณ  ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๊ณ , ์ด๋Š” ๊ธฐ์ˆ ์ด ๊ณ„์†ํ•ด์„œ ์ง„ํ™”ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ํ™•์‹คํ•œ ์ฆ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.