๊ฐœ๋ฐœ ์ง€์‹/CS ์ง€์‹

๐Ÿ‘ฉ‍๐Ÿ’ป CI / CD / ํŒŒ์ดํ”„๋ผ์ธ ์ด๋ž€?

์ธํŒŒ_ 2021. 11. 22. 16:31

ํŒŒ์ดํ”„๋ผ์ธ

CI/CD

 

CI (Continuous Integration)

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

 

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

์—ฌ๋Ÿฌ ๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋™์‹œ์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ๊ณผ ๊ด€๋ จ๋œ ์ฝ”๋“œ ์ž‘์—…์„ ํ•  ๊ฒฝ์šฐ ์„œ๋กœ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

ํŒŒ์ดํ”„๋ผ์ธ


CD (Continuous Delivery / Deployment)

CI/CD์˜ "CD"๋Š” ์ง€์†์ ์ธ ์„œ๋น„์Šค ์ œ๊ณต(Continuous Delivery) ๋ฐ/๋˜๋Š” ์ง€์†์ ์ธ ๋ฐฐํฌ(Continuous Deployment)๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ ์ด ๋‘ ์šฉ์–ด๋Š” ์ƒํ˜ธ ๊ตํ™˜์ ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

 

๋‘ ๊ฐ€์ง€ ์˜๋ฏธ ๋ชจ๋‘ ํŒŒ์ดํ”„๋ผ์ธ์˜ ์ถ”๊ฐ€ ๋‹จ๊ณ„์— ๋Œ€ํ•œ ์ž๋™ํ™”๋ฅผ ๋œปํ•˜์ง€๋งŒ ๋•Œ๋กœ๋Š” ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์ž๋™ํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ๋Š”์ง€๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ๋ณ„๋„๋กœ ์‚ฌ์šฉ๋˜๊ธฐ๋„ ํ•œ๋‹ค.

 

์ง€์†์ ์ธ ์ œ๊ณต(Continuous Delivery)

์ด๋ž€ ๊ฐœ๋ฐœ์ž๋“ค์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ์šฉํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ฒ„๊ทธ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์ณ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ(์˜ˆ: GitHub ๋˜๋Š” ์ปจํ…Œ์ด๋„ˆ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ)์— ์ž๋™์œผ๋กœ ์—…๋กœ๋“œ๋˜๋Š” ๊ฒƒ์„ ๋œปํ•˜๋ฉฐ, ์šด์˜ํŒ€์€ ์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹ค์‹œ๊ฐ„ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์œผ๋กœ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋Š” ๊ฐœ๋ฐœํŒ€๊ณผ ๋น„์ฆˆ๋‹ˆ์ŠคํŒ€ ๊ฐ„์˜ ๊ฐ€์‹œ์„ฑ๊ณผ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋ถ€์กฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ์ค€๋‹ค.

์ง€์†์ ์ธ ์ œ๊ณต์€ ๊ท€์ฐฎ์€ push ์ž‘์—…์—†์ด ์ตœ์†Œํ•œ์˜ ๋…ธ๋ ฅ์œผ๋กœ ์ƒˆ๋กœ์šด ์ฝ”๋“œ๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค.

 

์ง€์†์ ์ธ ๋ฐฐํฌ(Continuous Deployment)

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

์ด๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ œ๊ณต ์†๋„๋ฅผ ์ €ํ•ดํ•˜๋Š” ์ˆ˜๋™ ํ”„๋กœ์„ธ์Šค๋กœ ์ธํ•œ ์šด์˜ํŒ€์˜ ํ”„๋กœ์„ธ์Šค ๊ณผ๋ถ€ํ•˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค.

์ง€์†์ ์ธ ๋ฐฐํฌ๋Š” ํŒŒ์ดํ”„๋ผ์ธ์˜ ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์ž๋™ํ™”ํ•จ์œผ๋กœ์จ ์ง€์†์ ์ธ ์ œ๊ณต์ด ๊ฐ€์ง„ ์žฅ์ ์„ ํ™œ์šฉํ•œ๋‹ค.


CI / CD ์žฅ์ 

CI / CD๋ฅผ ์‹ค์ฒœํ•˜๋ฉด ๊ฐœ๋ฐœ, ํ…Œ์ŠคํŠธ, ์šด์˜ ๋ชจ๋ฒ” ์‚ฌ๋ก€์— ํŒ€์„ ๋งž์ถค์œผ๋กœ์จ

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‹ค์งˆ์  ํ˜œํƒ๋„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

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

CI/CD Pipeline

๋‹ค์Œ ๋‹ค์ด์–ด๊ทธ๋žจ์€ CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๋‹จ๊ณ„๋ฅผ ์ž์„ธํžˆ ๋ณด์—ฌ์ค€๋‹ค. ํŒŒ์ดํ”„๋ผ์ธ์ด๋ผ๊ณ  ํ•˜๋Š” ์ด์œ ๋Š” ์ด๋Ÿฌํ•œ ๋ฐฐํฌ ์ž๋™ํ™” ๊ณผ์ •๋“ค์ด ๋ฌผ ํ๋ฅด๋“ฏ ํ˜๋Ÿฌ๊ฐ€๋Š” ๊ฒƒ์„ ๋ฌ˜์‚ฌํ•ด์„œ ๊ทธ๋ ‡๊ฒŒ ๋ถ€๋ฅด๊ฒŒ ๋œ๋‹ค.

ํŒŒ์ดํ”„๋ผ์ธ

 

ํŒŒ์ดํ”„ ๋ผ์ธ์ด๋ž€?

์ปดํ“จํ„ฐ ๊ณผํ•™์—์„œ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„ ๋ผ์ธ (์ผ๋ฐ˜์ ์œผ๋กœ ํŒŒ์ดํ”„ ๋ผ์ธ์ด๋ผ๊ณ  ํ•จ)์€ ์ œ๊ณต๋œ ๋ฐ์ดํ„ฐ ๋˜๋Š” ์ฝ”๋“œ์— ๋Œ€ํ•ด ์‚ฌ์ „ ์ •์˜ ๋œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ผ๋ จ์˜ ์ฒ˜๋ฆฌ ๋‹จ๊ณ„๋‹ค.

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

ํŒŒ์ดํ”„ ๋ผ์ธ์˜ ์ด๋Ÿฌํ•œ ์žฅ์ ์€ CI / CD ์ธํ”„๋ผ์™€์˜ ํ˜ธํ™˜์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ๋†’์—ฌ์ค€๋‹ค. ํŠนํžˆ CI / CD ํŒŒ์ดํ”„ ๋ผ์ธ์€ ์ตœ์‹  ๋ฒ„์ „์˜ ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์ œ๊ณตํ•˜๋ ค๋Š” ์ผ๋ จ์˜ ์ฒ˜๋ฆฌ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

CI / CD ํŒŒ์ดํ”„ ๋ผ์ธ ๊ตฌ์„ฑ ์š”์†Œ

  • ๋นŒ๋“œ (์†Œํ”„ํŠธ์›จ์–ด ์ปดํŒŒ์ผ),
  • ํ…Œ์ŠคํŠธ (ํ˜ธํ™˜์„ฑ ๋ฐ ์˜ค๋ฅ˜ ๊ฒ€์‚ฌ)
  • ๋ฆด๋ฆฌ์Šค (๋ฒ„์ „ ์ œ์–ด ์ €์žฅ์†Œ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—…๋ฐ์ดํŠธ)
  • ๋ฐฐํฌ (๊ฐœ๋ฐœ์—์„œ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์œผ๋กœ์˜ ๋ณ€ํ™˜)
  • ๊ทœ์ • ์ค€์ˆ˜ ๋ฐ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ

CI / CD ํŒŒ์ดํ”„ ๋ผ์ธ ๋ชฉํ‘œ๋Š” ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ ๋ฐ ์ œ๊ณต์„ ์ˆ˜๋™ ์ฒ˜๋ฆฌ๋ณด๋‹ค ๋” ๋น ๋ฅด๊ณ  ์ž๋™ํ™”๋˜๊ณ  ์•ˆ์ •์ ์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค.

ํŒŒ์ดํ”„๋ผ์ธ


# ์ฐธ๊ณ ์ž๋ฃŒ

https://tirupati-tour-packages.com/ko/ko147801/

https://velog.io/@makeitcloud/%EB%9E%80-CI-Continuous-Integration-CD-Continuous-Deployment-%EB%9E%80