๐Ÿ“ฐ News/think

CI/CD๋ž€? (DevOps ์—”์ง€๋‹ˆ์–ด์˜ ํ•ต์‹ฌ ์—…๋ฌด)

kkh1902 2022. 4. 28. 18:58
728x90
๋ฐ˜์‘ํ˜•

CI (Continuous Integration)

CI๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์ž๋™ํ™” ํ”„๋กœ์„ธ์Šค์ธ ์ง€์†์ ์ธ ํ†ตํ•ฉ(Continuous Integration)์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

 

  • ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒˆ๋กœ์šด ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ •๊ธฐ์ ์œผ๋กœ ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ๋˜์–ด
    ๊ณต์œ  ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ํ†ตํ•ฉํžˆ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

CI๊ฐ€ ํ•„์š”ํ•œ ํ™˜๊ฒฝ์—๋Š” ์–ด๋–ค ์กฐ๊ฑด๋“ค์ด ์žˆ์„๊นŒ์š”?

- ๋‹ค์ˆ˜์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ˜•์ƒ๊ด€๋ฆฌ ํˆด์„ ๊ณต์œ ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ํ™˜๊ฒฝ
: N๋…„์ฐจ ๊ฐœ๋ฐœ์ž ๋ถ„๋“ค์ด์‹œ๋ผ๋ฉด, ํ˜•์ƒ๊ด€๋ฆฌ ํˆด(Git, SVN ๋“ฑ)์„ ์‚ฌ์šฉํ•˜๊ณ  ๊ณ„์‹œ์ฃ ?
์ง€์†์ ์œผ๋กœ ์„œ๋น„์Šคํ•ด์•ผ ํ•˜๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ ํ˜„์žฌ ๊ฐœ๋ฐœ ์ค‘์ธ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€
๊ธฐ๋Šฅ ์ถ”๊ฐ€ ์‹œ๋งˆ๋‹ค commit ๋“ฑ์„ ๋‚ ๋ ค ๋ ˆํฌ์ง€ํ† ๋ฆฌ(Repository)์— ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ๋ฅผ ํ•˜๋Š”๋ฐ์š”.
๋‹ค์ˆ˜์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•œ ํŒ€์œผ๋กœ ์ž‘์—…ํ•  ๊ฒฝ์šฐ, ์ด ๊ณต์œ  ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ์ˆ˜๋งŽ์€ commit๋“ค์ด ์Œ“์ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿด ๋•Œ๋งˆ๋‹ค, ๊ธฐ๋Šฅ๋ณ„๋กœ ๋นŒ๋“œ/ํ…Œ์ŠคํŠธ/๋ณ‘ํ•ฉ(Merge)๊นŒ์ง€ ํ•˜๋ ค๋ฉด ์ƒ๋‹นํžˆ ๋ฒˆ๊ฑฐ๋กญ๊ฒ ์ฃ ?
์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ, ์ž๋™ํ™”๋œ ๋นŒ๋“œ&ํ…Œ์ŠคํŠธ๋Š” ์›์ฒœ ์†Œ์Šค์ฝ”๋“œ์˜ ์ถฉ๋Œ ๋“ฑ์„ ๋ฐฉ์–ดํ•˜๋Š” Benefit์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

- MSA(Micro Service Archietecture) ํ™˜๊ฒฝ
: ์ตœ๊ทผ IT ์—…๊ณ„์— ๋ถ์ฒ˜๋Ÿผ ๋– ์˜ค๋ฅด๊ณ  ์žˆ๋Š” ์•„ํ‚คํ…์ฒ˜ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.
๊ธฐ์กด์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜๋Š” ํ•˜๋‚˜์˜ ๊ฑฐ๋Œ€ํ•œ ์„œ๋น„์Šค์ด์—ˆ๋‹ค๋ฉด,
MSA๋Š” ์ž‘์€ ๊ธฐ๋Šฅ๋ณ„๋กœ ์„œ๋น„์Šค๋ฅผ ์ž˜๊ฒŒ ์ชผ๊ฐœ์–ด ๊ฐœ๋ฐœํ•˜๋Š” ํ˜•ํƒœ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
MSA ํ™˜๊ฒฝ์—์„œ๋Š” ๋Œ€๋ถ€๋ถ„ Agile(์†Œ๊ทœ๋ชจ ๊ธฐ๋Šฅ ๋‹จ์œ„๋กœ ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœ & ์ ์šฉ์„ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฐœ๋ฐœ๋ฐฉ๋ฒ•๋ก ) ๋ฐฉ๋ฒ•๋ก ์ด ์ ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ธฐ๋Šฅ ์ถ”๊ฐ€๊ฐ€ ๋งค์šฐ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ฐœ์ƒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
์ž‘์€ micro service์˜ ๊ธด๋ฐ€ํ•œ ๋™์ž‘ ํ…Œ์ŠคํŠธ๋„ ์ค‘์š”ํ•ด์ง€๊ณ ์š”.
๊ทธ๋Ÿฌํ•œ ์ƒํ™ฉ์—์„œ CI์˜ ์ ์šฉ์€ ๊ธฐ๋Šฅ ์ถฉ๋Œ ๋ฐฉ์ง€ ๋“ฑ์˜ Benefit์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


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

 

 

CD (Continuous Delivery  &  Continuous Deployment)

CD๋Š” ์ง€์†์ ์ธ ์„œ๋น„์Šค ์ œ๊ณต ๋ฐ/๋˜๋Š” ์ง€์†์ ์ธ ๋ฐฐํฌ๋ฅผ ์˜๋ฏธ

Continuous Delivery๋Š” ๊ณต์œ  ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋กœ ์ž๋™์œผ๋กœ Release ํ•˜๋Š” ๊ฒƒ,
Continuous Deployment๋Š” Production ๋ ˆ๋ฒจ๊นŒ์ง€ ์ž๋™์œผ๋กœ deploy ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
์ •๋ฆฌํ•˜์ž๋ฉด, CI๊ฐ€ ์ƒˆ๋กœ์šด ์†Œ์Šค์ฝ”๋“œ์˜ ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ๋ณ‘ํ•ฉ๊นŒ์ง€๋ฅผ ์˜๋ฏธํ•˜์˜€๋Š”๋ฐ,
CD๋Š” ๊ฐœ๋ฐœ์ž์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋„˜์–ด, ๊ณ ๊ฐ์˜ ํ”„๋กœ๋•์…˜(Production) ํ™˜๊ฒฝ๊นŒ์ง€ ๋ฆด๋ฆฌ์ฆˆ ๋˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

CI์—์„œ ์˜ˆ๋กœ ๋“  MSA์™€ ๊ฐ™์€ ํ™˜๊ฒฝ์—์„œ Agile ๋ฐฉ๋ฒ•๋ก ์ด ์ ์šฉ๋  ๊ฒฝ์šฐ,
์„œ๋น„์Šค์˜ ์‚ฌ์šฉ์ž๋Š” ์ตœ๋Œ€ํ•œ ๋น ๋ฅธ ์‹œ๊ฐ„ ๋‚ด์— ์ตœ์‹  ๋ฒ„์ „์˜ Production์„ ์ œ๊ณต๋ฐ›์„ ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.


์ด ๋•Œ, ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์–ธ์ œ๋“ ์ง€ ์‹ ๋ขฐ ๊ฐ€๋Šฅํ•œ ์ˆ˜์ค€์˜ ๋ฒ„์ „์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก support ํ•˜๋Š” ๊ฒƒ์ด CD๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์ฃ .

์ด๋Š” ์„œ๋น„์Šค์˜ ๊ฐœ๋ฐœํŒ€๊ณผ ๋น„์ฆˆ๋‹ˆ์ŠคํŒ€(์˜์—…, CSํŒ€ ๋“ฑ) ๊ฐ„์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋ถ€์กฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ์คŒ์œผ๋กœ์จ,
๋ฐฐํฌ์— ์ด๋ฅด๊ธฐ๊นŒ์ง€์˜ ๋…ธ๋ ฅ์„ ์ตœ์†Œํ•œ์œผ๋กœ ๋‹จ์ถ•์‹œ์ผœ ์ค€๋‹ค๋Š” Benefit์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

 

์ •๋ฆฌ

  • CI๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒˆ๋กœ์šด ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ •๊ธฐ์ ์œผ๋กœ ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ๋˜์–ด
    ๊ณต์œ  ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ํ†ตํ•ฉํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๊ณ 
  • CD๋Š” ๊ฐœ๋ฐœ์ž์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋„˜์–ด, ๊ณ ๊ฐ์˜ ํ”„๋กœ๋•์…˜(Production) ํ™˜๊ฒฝ๊นŒ์ง€ ๋ฆด๋ฆฌ์ฆˆ ๋˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
728x90
๋ฐ˜์‘ํ˜•