[WEB] CI์™€ CD

์†Œ์ด๋ށยท2023๋…„ 8์›” 31์ผ
0

My Web

๋ชฉ๋ก ๋ณด๊ธฐ
4/4
post-thumbnail

๐ŸŒˆ ํ•™์Šต์„ ์œ„ํ•ด Must-Know-About-Frontend์—์„œ ๊ฐ€์ ธ์˜จ ๋‚ด์šฉ์„ ์ˆ˜์ •, ์ถ”๊ฐ€ํ•˜์—ฌ ์ž‘์„ฑํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๊ธฐ์กด ๋‚ด์šฉ๊ณผ ๋Œ€๋ถ€๋ถ„ ์œ ์‚ฌํ•˜๋ฉฐ Summary ๋ถ€๋ถ„์€ ์ถ”๊ฐ€ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

Summary

์„ค๋ช…
์นดํ…Œ๊ณ ๋ฆฌ์ž๋™ํ™”
CI๋นŒ๋“œ, ํ…Œ์ŠคํŠธ๋ฅผ ์ž๋™ํ™” -> ๊ณต์œ  ์ €์žฅ์†Œ์— ๋ณ‘ํ•ฉ
CDCI ์ดํ›„ ๊ณผ์ • ์ž๋™ํ™”
์ง€์†์  ์ „๋‹ฌ(Delivery): ํ”„๋กœ๋•์…˜ ์ˆ˜๋™ ๋ฐฐํฌ
์ง€์†์  ๋ฐฐํฌ(Deploy): ํ”„๋กœ๋•์…˜ ์ž๋™ ๋ฐฐํฌ



CI (Continuous Integration, ์ง€์†์  ํ†ตํ•ฉ)

CI๋Š” ๋นŒ๋“œ์™€ ํ…Œ์ŠคํŠธ๋ฅผ ์ž๋™ํ™”ํ•ด์„œ ๊ณต์œ  ์ €์žฅ์†Œ์— ๋ณ‘ํ•ฉ์‹œํ‚ค๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๋œปํ•œ๋‹ค. git๊ณผ ๊ฐ™์€ ๋ฒ„์ „๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•  ๋•Œ ์—ฌ๋Ÿฌ๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•˜๋‚˜์˜ ๊ณต์œ  ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ์ƒˆ๋กœ์šด ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ €์žฅ์†Œ์— ํ†ตํ•ฉ๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ์„œ๋กœ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋นŒ๋“œ/ํ…Œ์ŠคํŠธ ์ž๋™ํ™”๋ถ€ํ„ฐ ์ฝ”๋“œ์˜ ์ผ๊ด€์„ฑ(Consistency)์„ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ง€์†์ ์œผ๋กœ ํ†ตํ•ฉํ•œ๋‹ค๋Š” ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.


CD (Continuous Delivery/Deploy, ์ง€์†์  ์ „๋‹ฌ/๋ฐฐํฌ)

CD๋Š” CI์˜ ๋นŒ๋“œ/ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด์„œ ์ •์ƒ์ ์œผ๋กœ ์ˆ˜ํ–‰๋จ์„ ํ™•์ธํ•˜๋ฉด ์ด๋Š” ๋ฐฐํฌ๋ฅผ ์ˆ˜๋™์œผ๋กœ ํ•˜๋А๋ƒ ์ž๋™์œผ๋กœ ํ•˜๋А๋ƒ์— ๋”ฐ๋ผ 2๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค.

  • ์ง€์†์  ์ „๋‹ฌ : ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ์ƒํƒœ๊ฐ€ ๋˜๊ณ  ๋ฐฐํฌ ์ž์ฒด๋Š” ์ˆ˜๋™์œผ๋กœ ์‹คํ–‰ํ•œ๋‹ค.
    • ๊ฐœ๋ฐœํŒ€๊ณผ ๋น„์ฆˆ๋‹ˆ์ŠคํŒ€๊ฐ„์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋ถ€์กฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค.
  • ์ง€์†์  ๋ฐฐํฌ : ํ”„๋กœ๋•์…˜๊นŒ์ง€ ์ž๋™์œผ๋กœ ๋ฐฐํฌํ•œ๋‹ค.
    • ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ œ๊ณต ์†๋„๋ฅผ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.

CI/CD์˜ ๋Œ€ํ‘œ์ ์ธ ์„œ๋น„์Šค๋กœ Jenkins, Travis CI, Circle CI ๋“ฑ์ด ์žˆ์œผ๋ฉฐ ์ด๋ฅผ ๋‹ค์ด์–ด๊ทธ๋žจ์œผ๋กœ ๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

์ด๋ฏธ์ง€ ์ถœ์ฒ˜


์ฐธ๊ณ ๋กœ CI ์ดํ›„ ๋ฐฐํฌ ์ด์™ธ์˜ ๊ณผ์ •์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ˆ์‹œ๊ฐ€ ์žˆ๋‹ค.
ex1) ๊ธฐ์กด ๋™์ž‘ํ•˜๋˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ข…๋ฃŒ์‹œํ‚ค๊ณ , ์—…๋ฐ์ดํŠธ๋œ ๋นŒ๋“œ ํŒŒ์ผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ๋™
ex2) ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ์˜ ๊ฒฝ์šฐ, ์ƒˆ๋กœ ์—…๋ฐ์ดํŠธ๋œ ํŒŒ์ผ์„ ๋‹ค๋ฅธ ํฌํŠธ์— ํ’€์–ด๋†“๊ณ , ๊ตฌ๋™์ด ์™„๋ฃŒ๋˜๋ฉด ํ”„๋ฝ์‹œ์—์„œ ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์„ ์Šค์œ„์นญํ•จ(reverse proxy)

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


์ฐธ๊ณ 

0๊ฐœ์˜ ๋Œ“๊ธ€