CS & OS ๐Ÿ–ฅ๏ธ

CD(Continuous Deployment)

hae02y 2023. 7. 28. 12:31
๋ฐ˜์‘ํ˜•

CD ?

Continuous Deployment, ์ง€์†์  ๋ฐฐํฌ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ ๊ณผ์ •์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝ์ด ๋ฐœ์ƒํ–ˆ์„๋•Œ, ์ž๋™์ ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋นŒ๋“œํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•˜์—ฌ ์šด์˜ํ™˜๊ฒฝ์— ๋ฐฐํฌํ•œ๋‹ค. ์ง€์†์  ๋ฐฐํฌ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋„๊ตฌ์™€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ•„์š”ํ•œ๋ฐ, ์˜ˆ๋ฅผ๋“ค์–ด ์ฝ”๋“œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ฒ„์ „๊ด€๋ฆฌ ์‹œ์Šคํ…œ์— ์ปค๋ฐ‹ํ•˜๋ฉด ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์ž๋™์œผ๋กœ ๋นŒ๋“œํ•˜๊ณ , ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ณ , ๋นŒ๋“œ ๊ฒฐ๊ณผ๋ฌผ์„ ์šด์˜ํ™˜๊ฒฝ์— ๋ฐฐํฌํ•˜๋Š” CI / CD ํŒŒ์ดํ”„๋ผ์ธ์ด ๊ตฌ์„ฑ๋œ๋‹ค.

  • ์ง€์†์  ๋ฐฐํฌ๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ ๋ฐ ์šด์˜ํŒ€๊ฐ„์˜ ์†Œํ†ต๊ณผ ํ˜‘์—…์„ ํ–ฅ์ƒ ์‹œํ‚ฌ์ˆ˜์žˆ๋‹ค.
  • ๊ฐœ๋ฐœํŒ€์€ ๋”๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์ธ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ณ  ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ์‚ฌํ•ญ์— ๋น ๋ฅด๊ฒŒ ๋Œ€์‘์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์ง€์†์  ๋ฐฐํฌ ๋ฐฉ์‹์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ์ฃผ๊ธฐ๋ฅผ ๋‹จ์ถ•ํ•˜๊ณ , ๋ฒ„๊ทธ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ˆ˜์ •ํ• ์ˆ˜์žˆ๊ฒŒ ๋„์™€์ค€๋‹ค.

ํ•˜์ง€๋งŒ ๋ณด์•ˆ ์•ˆ์ „์„ฑ์— ๋Œ€ํ•œ ์šฐ๋ ค๊ฐ€ ์žˆ์–ด, ๋ณด์•ˆ๊ณผ ์•ˆ์ •์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ๊ฐœ๋ฐœ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ , ์ง€์†์ ์ธ ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ํ”ผ๋“œ๋ฐฑ์„ ํ†ตํ•ด ๊ฐœ์„ ํ•ด์•ผํ•œ๋‹ค.

 

 

๋ฐฐํฌ ์ž๋™ํ™”(Automated Deployment)

๋ฐฐํฌ ์ž๋™ํ™”๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ์‹œ์— ์ผ์–ด๋‚˜๋Š” ๋ฐ˜๋ณต์ ์ด๊ณ  ์ˆ˜๋™์ ์ธ ์ž‘์—…์„ ์ž๋™ํ™” ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๋ฐฐํฌ์— ๋Œ€ํ•œ ์ž๋™ํ™”๋ฅผ ํ†ตํ•ด ์ธ๊ฐ„์˜ ์‹ค์ˆ˜๋ฅผ ์ค„์ด๊ณ , ๋ฐฐํฌ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋”์šฑ ๋น ๋ฅด๊ฒŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ• ์ˆ˜์žˆ๊ฒŒ ํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ฐฐํฌ ์ž๋™ํ™”๋Š” ์•ˆ์ •์„ฑ๊ณผ ์ผ๊ด€์„ฑ์„ ๋†’์ด๋Š”๋ฐ ๋„์›€์ด ๋œ๋‹ค. ์ž๋™ํ™”๋œ ์ž‘์—…์„ ํ†ตํ•ด ์ผ๊ด€์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„์ˆ˜์žˆ๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค์—์„œ ์ƒ์‚ฐ์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ๋†’์ผ์ˆ˜์žˆ๋Š” ์š”์†Œ์ด๋‹ค.

 

๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ

๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ์€ ์†Œ์Šค์ฝ”๋“œ์˜ ๊ด€๋ฆฌ๋ถ€ํ„ฐ ์‹ค์ œ ์„œ๋น„์Šค๊นŒ์ง€ ๋ฐฐํฌ ๊ณผ์ •์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ตฌ์กฐ์ด๋‹ค. ํŒŒ์ดํ”„๋ผ์ธ์€ ์ „์ฒด ๋ฐฐํฌ๊ณผ์ •์„ ๋‹จ๊ณ„๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ, ๊ฐ ๋‹จ๊ณ„(stage)๋Š” ํŒŒ์ดํ”„๋ผ์ธ์•ˆ์—์„œ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋˜๋ฉฐ, ๊ฐ ๋‹จ๊ณ„์— ํ•„์š”ํ•œ ์ž‘์—…(Actions)์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. 

 

1. Source Stage : ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ ๊ด€๋ฆฌ๋˜๋Š” ์†Œ์Šค์ฝ”๋“œ์— ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์ผ์–ด๋‚ ๋•Œ, ์ด๊ฒƒ์„ ๊ฐ์ง€ํ•˜์—ฌ ๋‹ค์Œ๋‹จ๊ณ„๋กœ ์ „๋‹ฌํ•œ๋‹ค.

2. Build Stage : source ๋‹จ๊ณ„์—์„œ ์ „๋‹ฌ๋ฐ›์€ ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผ, ๋นŒ๋“œ, ํ…Œ์ŠคํŠธํ•˜์—ฌ ๊ฐ€๊ณตํ•œ๋‹ค. build ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ์ƒ์„ฑ๋œ ๊ฒฐ๊ณผ๋ฌผ์„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ์ „๋‹ฌํ•œ๋‹ค.

3. Deploy Stage : build ๋‹จ๊ณ„์—์„œ ์ „๋‹ฌ๋ฐ›์€ ๊ฒฐ๊ณผ๋ฅผ ์‹ค์ œ ์„œ๋น„์Šค์— ๋ฐ˜์˜ํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

์ง€์†์  ๋ฐฐํฌ(CD) vs ๋ฐฐํฌ์ž๋™ํ™”(AD)

๋‘˜๋‹ค ๊ฐœ๋ฐœ๊ณผ ๋ฐฐํฌ๋ฅผ ์ž๋™ํ™” ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ง€์†์  ๋ฐฐํฌ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๋ฐ ์šด์˜์˜ ์ „์ฒด์ ์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•˜๋Š”๊ฒƒ์ด๊ณ , ๋ฐฐํฌ ์ž๋™ํ™”๋Š” ํŠน์ •ํ•œ ์ž‘์—…์— ๋Œ€ํ•ด์„œ ์ž๋™ํ™”๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

 

๋ฐ˜์‘ํ˜•