๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋…ธ๋ ฅ์„ ์ด๊ธฐ๋Š” ์žฌ๋Šฅ์€ ์—†๊ณ 
๋…ธ๋ ฅ์„ ์™ธ๋ฉดํ•˜๋Š” ๊ฒฐ๊ณผ๋„ ์—†๋‹ค.
- ์ด์ฐฝํ˜ธ 9๋‹จ

CI & CD/Jenkins

[Jenkins] ๐Ÿ–ฅ๏ธ ์  ํ‚จ์Šค(Jenkins) ์„ค์น˜ ํ•˜๊ธฐ / ์  ํ‚จ์Šค ์„ค์น˜ ๋ฐฉ๋ฒ• / ์  ํ‚จ์Šค ์„ค์ • ํ•˜๊ธฐ

  Junesker   2025. 2. 14.
๋ฐ˜์‘ํ˜•

Jenkins

 

CI/CD๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Jenkins๊ฐ€ ํ•„์š”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. CI/CD ์นดํ…Œ๊ณ ๋ฆฌ์˜ 'Jenkins๋ž€?' ๊ฒŒ์‹œ๊ธ€์„ ํ†ตํ•ด์„œ Jenkins๊ฐ€ ๋ฌด์—‡์ด๋ฉฐ ํŠน์ง• ๋ฐ ์žฅ/๋‹จ์ ์ด ์–ด๋–ป๊ฒŒ ๋˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด์•˜๋‹ค๋ฉด Jenkins ์‚ฌ์šฉ์„ ์œ„ํ•ด ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

์  ํ‚จ์Šค(Jenkins) ์„ค์น˜ ๋ฐฉ๋ฒ•
์  ํ‚จ์Šค(Jenkins) ์„ค์ • ๋ฐฉ๋ฒ•
๋ฐ˜์‘ํ˜•

 

 

 

 

 

1.  Jenkins ๋‹ค์šด๋กœ๋“œ๋ฅผ ์œ„ํ•ด ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์— ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”์ธํ™”๋ฉด์˜ ๊ฐ€์šด๋ฐ Download ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

 

Jenkins ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€

  Jenkins ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€ 

 

 

Jenkins

Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software

www.jenkins.io

 

 

 

 

 

2.  Downloading Jenkins์˜ 'Download Jenkins 2.492.1 LTS for:' ๋ž€์˜ Generic Java package (.war)๋ฅผ ์—ด๊ณ  ์—ฌ๋Ÿฌ ๋ฒ„์ „๋“ค ์ค‘, ์‚ฌ์šฉ์ค‘์ธ OS์— ๋งž์ถฐ ๋‹ค์šด๋กœ๋“œ๋ฅผ ์ง„ํ–‰ํ•ด์ฃผ์„ธ์š”.

 

Downloading Jenkins

 

ํ•„์ž๋Š” Windows OS ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ, Windows ๋ฒ„์ „์— ๋งž์ถฐ ๋‹ค์šด๋กœ๋“œ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

 

3.  Jenkins ์„ค์น˜๋ฅผ ์œ„ํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๋‹ค์šด๋กœ๋“œ๊ฐ€ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

 

Jenkins ์„ค์น˜ ๋ฐฉ๋ฒ•

 

๋‹ค์šด๋กœ๋“œ๋ฅผ ์™„๋ฃŒํ•˜๋ฉด Kenkins.msi ํŒŒ์ผ์ด ๋‹ค์šด๋กœ๋“œ ํด๋”์— ์ €์žฅ๋˜์–ด ์žˆ๋‹ค.

 

 

 

 

 

4.  Jenkins ์„ค์น˜๋ฅผ ์œ„ํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.  'Next' ๋ฒ„ํŠผ์„ ํด๋ฆญ ํ•ด ๋‹ค์Œ์œผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

Jenkins ์„ค์น˜ ๋ฐฉ๋ฒ•

 

 

 

 

 

5.  Jenkins ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•  ํด๋” ๊ฒฝ๋กœ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ํด๋” ๊ฒฝ๋กœ ์„ค์ • ํ›„ 'Next' ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด ๋‹ค์Œ์œผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

Jenkins ์„ค์น˜ ๋ฐฉ๋ฒ•

 

 

 

 

 

6.  ์„œ๋น„์Šค ๋กœ๊ทธ์˜จ ์ž๊ฒฉ ์ฆ๋ช…์„ ์œ„ํ•œ ์ฐฝ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๊ณ„์ • ์ •๋ณด๋Š” ์ดํ›„์— ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฏ€๋กœ Logon Type์„ 'LocalSystem'์œผ๋กœ ์„ค์ • ํ›„ 'Next' ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด ๋‹ค์Œ์œผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

Jenkins ์„ค์น˜ ๋ฐฉ๋ฒ•

 

 

 

 

 

7.  Jenkins๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํฌํŠธ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์„ค์ • ํ›„ 'Next' ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด ๋‹ค์Œ์œผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

Jenkins ์„ค์น˜ ๋ฐฉ๋ฒ•

 

๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ๋Š” ํฌํŠธ๋Š” '8080' ํฌํŠธ๋กœ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. '8080'ํฌํŠธ๋Š” ์‚ฌ์šฉ์ค‘์ธ ์„œ๋น„์Šค๊ฐ€ ์žˆ์–ด ๊ฒน์น ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ „ํ˜€ ์—ฐ๊ด€์„ฑ์ด ์—†์„๋งŒํ•œ ํฌํŠธ๋“ค๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ํ•„์ž๋Š” '8030' ํฌํŠธ๋กœ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

8.  ์„ค์ •ํ•  ํฌํŠธ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ Test Port ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ์ฒดํฌํ•ฉ๋‹ˆ๋‹ค. ์ฒดํฌ ์™„๋ฃŒ ํ›„, 'Next' ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด ๋‹ค์Œ์œผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

Jenkins ์„ค์น˜ ๋ฐฉ๋ฒ•

 

 

 

 

 

9.  Jenkins๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” JDK๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ค‘์ธ JDK ๊ฒฝ๋กœ๋ฅผ ์„ค์ •ํ•˜๊ณ  'Next' ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด ๋‹ค์Œ์œผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

Jenkins ์„ค์น˜ ๋ฐฉ๋ฒ•

 

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ JDK๋Š” Java17๊ณผ Java21 ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์„œ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ํ•„์ž๋Š” JDK21 ๋ฒ„์ „์œผ๋กœ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

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

 

Jenkins ์„ค์น˜ ๋ฐฉ๋ฒ•

 

 

 

 

 

11.  ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด Install ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด Back ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด ์„ค์ •์„ ์žฌ๊ฒ€ํ†  ํ›„ ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•ด์ฃผ์„ธ์š”. ์„ค์ •์„ ๋ณ€๊ฒฝํ•  ๋‚ด์šฉ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— Install ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

Jenkins ์„ค์น˜ ๋ฐฉ๋ฒ•

 

 

 

 

 

12.  ์„ค์น˜๊ฐ€ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

 

Jenkins ์„ค์น˜ ๋ฐฉ๋ฒ•

 

 

 

 

 

13.  ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด Finish ๋ฒ„ํŠผ์„ ํด๋ฆญํ›„ ์„ค์น˜๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

 

Jenkins ์„ค์น˜ ๋ฐฉ๋ฒ•

 

 

 

 

 

14.  Jenkins ์„ค์น˜๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜์˜€๋‹ค๋ฉด Jenkins GUI์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์„ค์น˜ ๋•Œ ์„ค์ •ํ–ˆ๋˜ URL๋กœ ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค.

 

Jenkins ์„ค์ • ๋ฐฉ๋ฒ•

 

ํ•„์ž๋Š” 'http://localhost:8030' ์œผ๋กœ ์„ค์ •ํ–ˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น URL๋กœ ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค. ์ ‘์†ํ•˜๋ฉด Getting Started ํŽ˜์ด์ง€๊ฐ€ ๋‚˜ํƒ€๋‚˜๊ณ  ๋นจ๊ฐ„์ƒ‰ ๊ธ€์”จ๋กœ ํ‘œ์‹œ๋œ ํ•ด๋‹น ๊ฒฝ๋กœ๋กœ ๋“ค์–ด๊ฐ€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํ™•์ธํ•ด๋‹ฌ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์— ์ž‘์„ฑ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ณต์‚ฌ ํ›„, Administrator Password ์ž…๋ ฅ๋ž€์— ์ž…๋ ฅ ํ›„ Continue ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

 

Jenkins ์„ค์ • ๋ฐฉ๋ฒ•

 

ํ•ด๋‹น ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ initialAdminPassword ํŒŒ์ผ์„ ๋ฉ”๋ชจ์žฅ์œผ๋กœ ์—ด์–ด๋ณด๋ฉด ๋Œ€์†Œ๋ฌธ์ž๋กœ ๊ตฌ๋ถ„๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ž‘์„ฑ๋˜์–ด ์žˆ๋Š”๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

15.  ๋‘๊ฐ€์ง€ ๋ฐฉ์‹ ์ค‘, ๊ฐ„ํŽธํ•˜๊ฒŒ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ์™ผ์ชฝ ํ•ญ๋ชฉ์„ ์„ ํƒ ํ›„ ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

Jenkins ์„ค์ • ๋ฐฉ๋ฒ•

 

Jenkins์—์„œ ์‚ฌ์šฉํ•  ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์ •ํ•˜๋Š” ๋ž€์ž…๋‹ˆ๋‹ค. ์ด ๋‘๊ฐ€์ง€๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. [์™ผ์ชฝ]์€ Jenkins ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๊ฐ€์žฅ ์œ ์šฉํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์น˜ํ•˜๊ณ  [์˜ค๋ฅธ์ชฝ]์€ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ง์ ‘ ์„ ํƒํ•˜๊ณ  ์„ค์น˜ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ํ•„์ž๋Š” ๊ฐ„ํŽธํ•˜๊ฒŒ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๊ฐ€์žฅ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

 

16.  ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์„ค์น˜๋ฉ๋‹ˆ๋‹ค.

 

Jenkins ์„ค์ • ๋ฐฉ๋ฒ•

 

 

 

 

 

17.  Admin ๊ณ„์ • ์ •๋ณด๋ฅผ ์„ค์ • ํ›„, Save and Continue ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด ๋‹ค์Œ์œผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

Jenkins ์„ค์ • ๋ฐฉ๋ฒ•

 

๋ณธ์ธ์ด ์‚ฌ์šฉํ•  Admin์˜ ๊ณ„์ •๋ช…, ์•”ํ˜ธ, ์•”ํ˜ธํ™•์ธ, ์ด๋ฆ„, ์ด๋ฉ”์ผ์ฃผ์†Œ ๋ฅผ ์ž…๋ ฅ ํ›„ ๋‹ค์Œ์œผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

 

18.  Jenkins ์„ค์น˜ ์‹œ์— ์„ค์ •ํ–ˆ๋˜ ์ ‘์† URL์„ ์ž…๋ ฅ ํ›„, Save and Finish ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด ๋‹ค์Œ์œผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

Jenkins ์„ค์ • ๋ฐฉ๋ฒ•

 

๊ธฐ๋ณธ์ ์œผ๋กœ URL์ด ์„ค์ •๋˜์–ด ์žˆ๋‹ค. ์ •์ƒ์ ์œผ๋กœ ์ž…๋ ฅ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ ํ›„ Save and Finish ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด ๋‹ค์Œ์œผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

 

19.  Jenkins ์„ค์น˜ ๋ฐ ์„ค์ •์ด ๋งˆ๋ฌด๋ฆฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Start using Jenkins ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด ์„ค์น˜ ๋ฐ ์„ค์ •์„ ๋งˆ๋ฌด๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

 

Jenkins ์„ค์ • ๋ฐฉ๋ฒ•

 

 

 

 

 

20.  ์„ค์ •๋œ URL๋กœ ์ ‘์†ํ•˜์—ฌ Jenkins ๋ฉ”์ธ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

 

Jenkins ์„ค์ • ๋ฐฉ๋ฒ•

 

๋ฉ”์ธ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ํ™•์ธํ–ˆ๋‹ค๋ฉด ์„ค์น˜ ๋ฐ ์„ค์ •์ด ๋งˆ๋ฌด๋ฆฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Jenkins ๋ฉ”์ธ ๋Œ€์‹œ๋ณด๋“œ์—์„œ ์™ผ์ชฝ ๋ฉ”๋‰ด๋“ค์„ ํ†ตํ•ด CI/CD๋ฅผ ์„ค์ •ํ•˜๊ณ  ๋ฐฐํฌ๋œ ํ˜„์žฌ์˜ ์ƒํ™ฉ๊ณผ log ๋“ฑ๋“ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

@Junekser


 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€