๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŽ‹ AWS

[ Jenkins ] Jenkins CI/CD ๋ฌด์—‡์ธ๊ฐ€?

by MuGeon Kim 2023. 4. 15.
๋ฐ˜์‘ํ˜•

 

1. ๊ธ€์„ ์ž‘์„ฑํ•˜๋Š” ์ด์œ 

์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ์—๋Š” Jenkins๋ฅผ ํ•™์Šตํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌ๋ฅผ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. 

์‚ฌ์‹ค Jenkins๋ฅผ ํ•™์Šตํ•œ ์ด์œ ๋Š” ์‹ ์ž…์œผ๋กœ ์ทจ์—…์„ ํ•˜๊ธฐ ์œ„ํ•ด ์šฐ๋Œ€์‚ฌํ•ญ์„ ๋ณด๋ฉด Jenkins CI/CD ํŒŒ์ดํ”„๋ผ์ธ ์šฐ๋Œ€๊ฐ€ ์žˆ์–ด์„œ ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ผ๋‹จ Jenkins์— ๋Œ€ํ•ด ํ•™์Šต์„ ํ•˜๋ฉด์„œ ๊ถ๊ธˆํ•œ ์‚ฌํ•ญ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. 

์‹œ์žฅ์—๋Š” CI/CDํˆด์ด ๋งŽ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Travis์ด ์žˆ์Šต๋‹ˆ๋‹ค. Travis๋Š” ํ˜ธ์ŠคํŒ…๋œ ์„œ๋น„์Šค๋กœ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์—์„œ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.  ๊ทธ๋ž˜์„œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์„ค์ • ๋ฐ ์„ค์น˜๊ฐ€ Jenkins์— ๋น„ํ•ด์„œ ๋” ํŽธํ•ฉ๋‹ˆ๋‹ค. 

๊ทธ๋Ÿฐ๋ฐ ์™œ ์‹œ์žฅ์—์„œ๋Š” Jenkins ์šฐ๋Œ€์‚ฌํ•ญ์ด ๋งŽ์€์ง€ ๊ถ๊ธˆํ–ˆ์Šต๋‹ˆ๋‹ค.

 

2. Travis / Jenkins

์ผ๋‹จ ํ˜ธ์ŠคํŒ…๋œ ์„œ๋น„์Šค์™€ ์ง์ ‘ ๊ฐœ๋ฐœ์ž๊ฐ€ ์„ค์น˜ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ํ•˜๋Š” Travis์™€ Jenkins์˜ ์ฐจ์ด์— ๋Œ€ํ•ด์„œ ์„ค๋ช…์„ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ผ๋‹จ 4๊ฐ€์ง€ ๊ด€์ ์—์„œ ์„ค๋ช…์„ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

1. ํ˜ธ์ŠคํŒ… ์˜ต์…˜

 Travis๋Š” ํ˜ธ์ŠคํŒ…๋œ ์„œ๋น„์Šค๋กœ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์—์„œ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Jenkins๋Š” ์˜จํ”„๋ ˆ๋ฏธ์Šค ํ™˜๊ฒฝ์—์„œ ์„ค์น˜ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ์„ค์น˜ํ˜• ๋„๊ตฌ ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Jenkins๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์„œ๋ฒ„๋ฅผ ์ง์ ‘ ์„ค์ •ํ•˜๊ณ  ๊ด€๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

2. ํ™•์žฅ์„ฑ๊ณผ ์œ ์—ฐ์„ฑ

Jenkins๋Š” ๋‹ค์–‘ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ ํ™•์žฅ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋งค์šฐ ๋†’์€ ํ™•์žฅ์„ฑ๊ณผ ์œ ์—ฐ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๋งž์ถคํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Travis๋Š” ํ˜ธ์ŠคํŒ…๋œ ์„œ๋น„์Šค๋กœ ์ผ๋ถ€ ๊ธฐ๋Šฅ์ด ์ œํ•œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3. ๊ตฌ์„ฑ ๋ฐ ๊ด€๋ฆฌ์˜ ๋ณต์žก์„ฑ

Jenkins๋Š” ์„ค์น˜์™€ ๊ตฌ์„ฑ์ด ๋” ๋ณต์žกํ•˜๋ฉฐ, ์„œ๋ฒ„ ๊ด€๋ฆฌ, ๋ฐฑ์—…, ๋ณด์•ˆ ๋“ฑ์— ๋Œ€ํ•œ ์ฑ…์ž„์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์žˆ์Šต๋‹ˆ๋‹ค. Travis๋Š” ํด๋ผ์šฐ๋“œ์—์„œ ํ˜ธ์ŠคํŒ…๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž๋Š” ์ด๋Ÿฌํ•œ ์ธก๋ช…์„ ๊ฑฑ์ •ํ•  ์น ์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

4. ๋น„์šฉ

Travis๋Š” ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๋กœ, ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ์š”๊ธˆ์„ ์ง€๋ถˆํ•˜์—ฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Jenkins๋Š” ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์„ค์น˜์™€ ๊ตฌ์„ฑ, ์„œ๋ฒ„ ์œ ์ง€ ๊ด€๋ฆฌ ๋“ฑ์— ๋”ฐ๋ฅธ ์ถ”๊ฐ€์ ์ธ ๋น„์šฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

[ ์ฐธ๊ณ  ] 

 

[DevOps] Jenkins vs Travis-CI ๋ฌด์—‡์ด ๋” ์ข‹์€๊ฐ€?

CI(Continuous Integration) CI๋Š” ํŒ€ ๊ตฌ์„ฑ์›์ด ํ•˜๋ฃจ์— ํ•œ ๋ฒˆ ์ด์ƒ ์ž‘์—…์„ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•์ด๋‹ค. ์ด ๋ฐฉ๋ฒ•์—์„œ ๋ชจ๋“  ํ†ตํ•ฉ์€ ์˜ค๋ฅ˜๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด ์ž๋™ํ™”๋œ ๋นŒ๋“œ์— ์˜ํ•ด ํ™•์ธ๋œ๋‹ค. CI๋ผ

loosie.tistory.com

  Jenkins Travis-CI
๋น„์šฉ ์  ํ‚จ์Šค๋Š” ๋ฌด๋ฃŒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ง์ ‘ ์ „์šฉ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์œ ์ง€ ๊ด€๋ฆฌํ•ด์•ผ ํ•œ๋‹ค. ์ด ๊ด€๋ฆฌ ๋น„์šฉ์„ ์ถ”๊ฐ€ ๋น„์šฉ์œผ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ๋‹ค.
(๊ฐœ์ธ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ EC2 ํ”„๋ฆฌํ‹ฐ์–ด swap ๊ณต๊ฐ„์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹นํ•˜์—ฌ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ - ์ฐธ๊ณ )
Travis CI ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์ œํ’ˆ๊ตฐ์€ ์›” $129๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค. ํ•„์š”ํ•œ ์ง€์› ์ˆ˜์ค€์— ๋”ฐ๋ผ ๋น„์šฉ์ด ์ฆ๊ฐ€ํ•œ๋‹ค.
Set up ํƒ€์ž„ Jenkins๋Š” ์ •๊ตํ•œ ์„ค์ •์ด ํ•„์š”ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ์™„์ „ํ•œ ์„ค์น˜๋ฅผ ์œ„ํ•ด ๋‹ค์†Œ ์‹œ๊ฐ„์ด ์†Œ์š”๋  ์ˆ˜ ์žˆ๋‹ค. ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ํ›จ์”ฌ ์ ๊ฒŒ ๊ฑธ๋ฆฐ๋‹ค. ๊ตฌ์„ฑ ํŒŒ์ผ(yml)์„ ๋งŒ๋“ค๊ณ  ํ†ตํ•ฉ์„ ์‹œ์ž‘ํ•œ๋‹ค.
์„ฑ๋Šฅ ๋ฌด์ œํ•œ ์‚ฌ์šฉ์ž ์ง€์ • ์˜ต์…˜์ด ์žˆ๋Š” CI ๋„๊ตฌ๋ฅผ ์ฐพ๊ณ  ์žˆ๋‹ค๋ฉด Jenkins๊ฐ€ ์ตœ๊ณ ์˜ ์„ ํƒ์ด๋‹ค ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ(public)์—์„œ ์ž‘์—…ํ•˜๋Š” ๊ฒฝ์šฐ Travis CI๊ฐ€ ์ตœ์„ ์˜ ์„ ํƒ์ด๋‹ค
๋„๊ตฌ ํƒ€์ž… ํˆด์„ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์˜คํ”ˆ ์†Œ์Šค ์ƒ์šฉ CI ํˆด
์šฉ๋ฒ• ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๋‹ค ์œ ์—ฐํ•œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
์žฅ์  • ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์€ Jenkins CI ์„œ๋ฒ„์˜ ๊ฐ€์žฅ ํฐ ์žฅ์ 
• Jenkins์˜ ๋ชจ์–‘์„ ๋ณ€๊ฒฝํ•˜๋„๋ก ๋‹ค๋Ÿ‰์˜ plugin ์•„์นด์ด๋ธŒ ์ œ๊ณต
• ์ธ์ฆ, ๊ฒฝ๊ณ  ๋ฐ ์ž๊ฒฉ ์ฆ๋ช…๊ณผ ๊ฐ™์€ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ
• GitHub ๋ฐ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ(ex. aws)๊ณผ ์—ฐ๋™
• .travis.ymi ํŒŒ์ผ์„ ํ†ตํ•œ ๊ด‘๋ฒ”์œ„ํ•œ ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ
• ํด๋Ÿฌ์Šคํ„ฐ ํ…Œ์ŠคํŠธ๋ฅผ ํ—ˆ์šฉํ•˜๊ณ  ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰
• ๋‹ค์ค‘ ๋นŒ๋“œ ํ™˜๊ฒฝ ๋ฐ ๋Œ€์ƒ ํ”Œ๋žซํผ (์ฆ‰, ๋…ธ๋“œ 0.10,0.8,0.6, Li on).
๋‹จ์  ์ง€์†์  ํ†ตํ•ฉ์„ ์œ„ํ•œ Jenkins์˜ ์ฃผ์š” ๋‹จ์  ์ค‘ ํ•˜๋‚˜๋Š” ๊ตฌ์„ฑ์ด ๋งค์šฐ ๋งŽ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ œ๊ณต๋˜๋Š” ๊ธฐ๋ณธ ์„ค์ •์€ ์—†๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์‹œ์Šคํ…œ์—์„œ ๋ชจ๋“  ๊ฒƒ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ 2-3์‹œ๊ฐ„์—์„œ ๋ฉฐ์น ์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค. Travis CI ์„ค์น˜์˜ ๊ฐ€์žฅ ํฐ ๋‹จ์ ์€ ์ƒ์—…์šฉ ๊ณ„ํš์ด $129/m์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ์ƒ๋‹นํžˆ ๋น„์‹ธ๋‹ค. ๋ณด์•ˆ ์ˆ˜์ค€์ด ๋†’์€ ํ”„๋กœ์ ํŠธ์—๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค.
Usage Plans ๋ฌด๋ฃŒ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ ๋ฌด๋ฃŒ 10,000 ํฌ๋ ˆ๋”ง ์ œ๊ณต / ๊ธฐ์—…์šฉ ์œ ๋ฃŒ
Server Machine ์„œ๋ฒ„ ๊ธฐ๋ฐ˜ ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜
์ปค์Šคํ…€ ์˜ต์…˜ ์—„์ฒญ ๋งŽ์Œ ์ ์Œ
Config ์™„์ „ํžˆ ์‚ฌ์šฉ์ž ์ •์˜ ๊ฐ€๋Šฅ YAML

 

3. CI/CD๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

 

CI/CD(CI CD, ์ง€์†์  ํ†ตํ•ฉ/์ง€์†์  ๋ฐฐํฌ): ๊ฐœ๋…, ํˆด, ๊ตฌ์ถ•, ์ฐจ์ด

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

www.redhat.com

CI(Continuous Integration)

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

CI๋Š” ํŒ€์˜ ํ˜‘์—…์„ ๊ฐ•ํ™”ํ•˜๊ณ  ๋น ๋ฅธ ํ”ผ๋“œ๋ฐฑ์„ ํ†ตํ•ด ๋ฒ„๊ทธ๋ฅผ ์กฐ๊ธฐ์— ๋ฐœ๊ฒฌํ•˜๊ณ  ์ˆ˜์ •ํ•จ์œผ๋กœ์จ ์†Œํ”„ํŠธ์›จ์–ด์˜ ํ’ˆ์งˆ์„ ๋†’์ด๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค๋ฉด

1. ๊ฐœ๋ฐœ์ž๊ฐ€ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ Git์— Pushํ•˜๋ฉด ์  ํ‚จ์Šค๊ฐ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฐ์ง€ํ•˜๊ณ  ์ž๋™์œผ๋กœ ๋นŒ๋“œ ์ž‘์—…์„ ์‹œ์ž‘ํ•œ๋‹ค.

2. ๋นŒ๋“œ ํ›„์— ์  ํ‚จ์Šค๋Š” ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•˜์—ฌ ์ฝ”๋“œ์˜ ํ’ˆ์งˆ๊ณผ ์•ˆ์ „์„ฑ์„ ํ™•๋ณดํ•œ๋‹ค.

3. ์ •์  ์ฝ”๋“œ ๋ถ„์„: ์  ํ‚จ์Šค๋Š” ์ •์  ์ฝ”๋“œ ๋ถ„์„ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ์˜ ํ’ˆ์งˆ๊ณผ ์•ˆ์ „์„ฑ์„ ํ‰๊ฐ€ํ•œ๋‹ค.

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

5. ์ž๋™ ๋ฐฐํฌ: ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜๋ฉด ์  ํ‚จ์Šค๋Š” ์ž๋™์œผ๋กœ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

4. ๊ทธ๋Ÿฌ๋ฉด Jenkins๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

์  ํ‚จ์Šค(Jenkins)๋Š” ์˜คํ”ˆ ์†Œ์Šค์˜ ์ง€์†์  ํ†ตํ•ฉ ๋ฐ ์ง€์†์  ๋ฐฐํฌ(CI/CD) ๋„๊ตฌ๋กœ, ๊ฐœ๋ฐœ์ž๋“ค์ด ์†Œ์Šค ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ž๋™์œผ๋กœ ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์  ํ‚จ์Šค๋Š” Java ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ, ๋‹ค์–‘ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ง€์›ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์–ธ์–ด์™€ ํ”„๋ ˆ์ž„์›Œํฌ, ๋„๊ตฌ๋“ค๊ณผ์˜ ํ†ตํ•ฉ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

์  ํ‚จ์Šค๋Š” ๊ฐœ๋ฐœ์ž๋“ค์ด ์†Œํ”„ํŠธ์›จ์–ด์˜ ํ’ˆ์งˆ์„ ๋†’์ด๊ณ  ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ํšจ์œจํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ์  ํ‚จ์Šค์˜ ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

์ž๋™ ๋นŒ๋“œ: ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฐ์ง€ํ•˜์—ฌ ์ž๋™์œผ๋กœ ๋นŒ๋“œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜๊ณ  ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ž๋™ ํ…Œ์ŠคํŠธ: ๋นŒ๋“œ ํ›„์— ์ž๋™์œผ๋กœ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ, ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ, ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ ๋“ฑ์„ ์‹คํ–‰ํ•˜์—ฌ ์ฝ”๋“œ์˜ ํ’ˆ์งˆ๊ณผ ์•ˆ์ •์„ฑ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

ํ”Œ๋Ÿฌ๊ทธ์ธ ์ง€์›: ๋‹ค์–‘ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ œ๊ณตํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์–ธ์–ด, ํ”„๋ ˆ์ž„์›Œํฌ, ๋„๊ตฌ๋“ค๊ณผ์˜ ํ†ตํ•ฉ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Git, SVN, Docker, AWS, Slack ๋“ฑ๊ณผ์˜ ํ†ตํ•ฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

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

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

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

 

 

์ฐธ๊ณ 

 

CI/CD(CI CD, ์ง€์†์  ํ†ตํ•ฉ/์ง€์†์  ๋ฐฐํฌ): ๊ฐœ๋…, ํˆด, ๊ตฌ์ถ•, ์ฐจ์ด

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

www.redhat.com

 

 

[Jenkins] Jenkins ๊ฐœ๋…๋ถ€ํ„ฐ ์„ค์น˜, ์—ฐ๋™๊นŒ์ง€

ํšŒ์‚ฌ ์Šคํ„ฐ๋””๋กœ Jenkins ๊ณต๋ถ€๋ฅผ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค... ๐Ÿš€ Jenkins : www.jenkins.io/ Jenkins Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software www.jenkins.io Contin

yeonyeon.tistory.com

 

 

์  ํ‚จ์Šค๋ž€ ๋ฌด์—‡์ธ๊ฐ€, CI(Continuous Integration) ์„œ๋ฒ„์˜ ์ดํ•ด

์  ํ‚จ์Šค(Jenkins)๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ์–ธ์–ด์˜ ์กฐํ•ฉ๊ณผ ์†Œ์Šค์ฝ”๋“œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ(Repository)์— ๋Œ€ํ•œ ์ง€์†์ ์ธ ํ†ตํ•ฉ๊ณผ ์ง€์†์ ์ธ ์ „๋‹ฌ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ

www.itworld.co.kr

 

๋ฐ˜์‘ํ˜•