๐Ÿ” [์ง๋ฌด ๊ด€๋ จ ์งˆ๋ฌธ] - 09. ์›น ์„œ๋น„์Šค ๋ฐฐํฌ ์‹œ์Šคํ…œ ๊ตฌ์ถ• ๊ฒฝํ—˜?

์กฐ์ค€ํ˜•ยท2021๋…„ 6์›” 25์ผ
0

interview

๋ชฉ๋ก ๋ณด๊ธฐ
14/20
post-thumbnail
  • CI, CD๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•„๋Š”์ง€?
  • ๊ตฌ์ถ•ํ•ด๋ณธ ๊ฒฝํ—˜ ํ˜น์€ ์‚ฌ์šฉํ•ด๋ณธ ๊ฒฝํ—˜์ด ์žˆ๋Š”์ง€

๐Ÿ’ฌ Answer

๐ŸŒ ์›น ์„œ๋น„์Šค ๋ฐฐํฌ ์‹œ์Šคํ…œ ๊ตฌ์ถ•๊ฒฝํ—˜

๐Ÿ‘‰ ์›น ์„œ๋น„์Šค ๋ฐฐํฌ ์‹œ์Šคํ…œ ๊ตฌ์ถ•๊ฒฝํ—˜

์‚ผ์„ฑ ์ฒญ๋…„ ์†Œํ”„ํŠธ์›จ์–ด ์•„์นด๋ฐ๋ฏธ(SSAFY)์—์„œ Docker์™€ Jenkins๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐฐํฌ๋ฅผ ํ–ˆ์—ˆ์ง€๋งŒ, ํŒ€์› ํ•œ๋ช…์ด ๊ทธ ๋ถ€๋ถ„์„ ๋งก์•„์„œ ํ•˜์—ฌ ์–ด๋–ป๊ฒŒ ๋ฐฐํฌํ•˜๋Š”์ง€๋Š” ์ž˜ ๋ชจ๋ฆ…๋‹ˆ๋‹ค.
๋Œ€์‹  CI, CD์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.

๐ŸŒ CI, CD

๐Ÿ‘‰ CI/CD

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ๋‹จ๊ณ„๋ฅผ ์ž๋™ํ™” ํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ณด๋‹ค ์งง์€ ์ฃผ๊ธฐ๋กœ ๊ณ ๊ฐ์—๊ฒŒ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ•.

๊ธฐ๋ณธ ๊ฐœ๋…

  • ์ง€์†์ ์ธ ํ†ตํ•ฉ
  • ์ง€์†์ ์ธ ์„œ๋น„์Šค ์ œ๊ณต
  • ์ง€์†์ ์ธ ๋ฐฐํฌ

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

์ด๋Ÿฐ ๊ตฌ์ถ• ์‚ฌ๋ก€๋ฅผ ์ผ๋ฐ˜์ ์œผ๋กœ "CI/CD ํŒŒ์ดํ”„๋ผ์ธ"์ด๋ผ ๋ถ€๋ฅด๋ฉฐ ๊ฐœ๋ฐœ๋ฐ ์šด์˜ํŒ€์˜ ์• ์ž์ผ๋ฐฉ์‹์„ ํ†ตํ•ด ์ง€์›๋œ๋‹ค.

๐Ÿ‘‰ CI (Continuous Integration)

CI๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์ž๋™ํ™” ํ”„๋กœ์„ธ์Šค์ธ ์ง€์†์ ์ธ ํ†ตํ•ฉ.

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

CI๊ฐ€ ํ•„์š”ํ•œ ํ™˜๊ฒฝ

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

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

๐Ÿ‘‰ CD (Continuous Delivery)

์ง€์†์ ์ธ ๋ฐฐํฌ๋ฅผ ์˜๋ฏธ

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

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

๐Ÿ‘‰ CI/CD Tool

  • Jenkins
    ๊ฐ€์žฅ ์˜ค๋ž˜๋˜๊ณ , ๊ฐ€์žฅ ์ธ๊ธฐ์žˆ๋Š” CI Tool, Java๋กœ ์ž‘์„ฑ๋œ ์˜คํ”ˆ์†Œ์Šค SW๋กœ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ CI/CDํ™˜๊ฒฝ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๊ณ , Git, Maven๊ณผ ๊ฐ™์€ ๋ฒ„์ „ ์ œ์–ด ๋„๊ตฌ๋ฅผ ์ง€์›ํ•จ.

  • Travis CI
    ์ตœ์ดˆ์˜ ํ˜ธ์ŠคํŒ… CI ์„œ๋ฒ„.
    ์ž์ฒด์  ์„œ๋ฒ„๋„ ์ œ๊ณต.
    Githubํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•ด ํŠน๋ณ„ํžˆ ํ˜ธ์ŠคํŒ…๋œ ์„œ๋ฒ„๋กœ Github์™€ ๊ธด๋ฐ€ํ•˜๊ฒŒ ํ†ตํ•ฉ๋˜์žˆ์–ด ์‹œ์ž‘ํ•˜๊ธฐ ํŽธํ•จ.

  • TeamCity
    JetBrain์‚ฌ์˜ ์ œํ’ˆ์œผ๋กœ ์ž๋ฐ”๊ธฐ๋ฐ˜์˜ ์ƒ์šฉ ์†Œํ”„ํŠธ์›จ์–ด
    Java, .NET, Ruby, XCode๋ฅผ ์ง€์›ํ•˜๋ฉฐ JetBrain์‚ฌ์˜ ์ด์Šˆ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ๊ณผ ํ†ตํ•ฉ๋˜์žˆ์Œ.
    ์„ค์ •์˜ ์šฉ์ด์„ฑ๊ณผ ์ฆ‰๊ฐ์ ์ธ ์‚ฌ์šฉ์„ฑ์— ์ข‹์€ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์•Œ๋ ค์ ธ ์žˆ๋‹ค.

  • Bamboo
    ์ž์ฒด์  CI์„œ๋ฒ„๋กœ, Atlassian ์ œํ’ˆ.
    JIRA, Bitbucket, Fisheye, Hipchat์™€ ํ†ตํ•ฉ๋  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ“˜ ์ฐธ๊ณ 

https://www.redhat.com/ko/topics/devops/what-is-ci-cd
https://artist-developer.tistory.com/24
https://velog.io/@hanblueblue/CICD-ํˆด-๋น„๊ต
https://blog.naver.com/PostView.nhn?blogId=kkyy0126&logNo=221558008077&parentCategoryNo=&categoryNo=91&viewDate=&isShowPopularPosts=true&from=search

profile
๊นƒํ—ˆ๋ธŒ : github.com/JuneHyung

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