Springboot Gradle + AWS EC2 + Jenkins + Docker๋กœ ๋ฐฐํฌ๊นŒ์ง€(5) : ์Šฌ๋ž™์œผ๋กœ Jenkins ์•Œ๋ฆผ ๋ฐ›๊ธฐ

2021. 4. 30. 17:06ใ†๐ŸŒฑ Develop/devOps

์ด์ œ Jenkins์™€ github์„ ์—ฐ๋™ํ•˜๊ณ , springboot๋ฅผ ๋นŒ๋“œํ–ˆ์œผ๋ฉฐ, ์ด๋ฅผ docker ์ด๋ฏธ์ง€๋กœ ๋งŒ๋“ค์–ด hub์— pushํ•˜๋Š” ๊ณผ์ •๊นŒ์ง€ ๋ชจ๋‘ ๋งˆ์ณค์Šต๋‹ˆ๋‹ค. ๐Ÿ’ช

์ด๋ ‡๊ฒŒ Jenkins์—๊ฒŒ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•ด์•ผํ•˜๋Š” ์ผ์„ ๋‚˜๋ˆ ์ฃผ๊ณ  ๋‚˜๋‹ˆ, ์ผ์„ ์ž˜ํ•˜๊ณ  ์žˆ๋Š”์ง€, ์—๋Ÿฌ๋Š” ๋‚˜์ง€ ์•Š๋Š”์ง€ ๋ถˆ์•ˆํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ์ˆ˜์‹œ๋กœ ๋“ค์–ด๊ฐ€์„œ ํ™•์ธํ•  ์ˆ˜๋„ ์—†๋Š” ๋…ธ๋ฆ‡์ด๋‹ˆ Jenkins๊ฐ€ ์ผ์„ ์ž˜ ํ•˜๊ณ  ์žˆ๋Š”์ง€ ์•Œ๋ฆผ์„ ๋ฐ›์•„ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

1๏ธโƒฃ ์Šฌ๋ž™์— Jenkins CI ์„ค์น˜

์•ฑ์—์„œ Jenkins CI๋ฅผ ๊ฒ€์ƒ‰ํ•ด์„œ jenkins ์•Œ๋ฆผ์„ ๋ฐ›์„ ์ฑ„๋„์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์•ฑ ์ถ”๊ฐ€๋ฅผ ๋ˆ„๋ฅด๋ฉด, Jenkins์— ์Šฌ๋ž™ ์•Œ๋ฆผ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•œ ๋‹จ๊ณ„๋“ค์ด ์ƒ์„ธํ•˜๊ฒŒ ์„ค๋ช…๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.

๋ณธ ํŽ˜์ด์ง€์—์„œ๋Š” ํ† ํฐ์„ ๋ณต์‚ฌํ•ด์„œ ์ž˜ ๋ณด๊ด€ํ•ด๋‘๋ฉด ๋ฉ๋‹ˆ๋‹ค.

2๏ธโƒฃ ์Šฌ๋ž™ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋‹ค์šด๋กœ๋“œ, ์Šฌ๋ž™ ํ† ํฐ์„ Credential์— ์ €์žฅ

๋‹ค์‹œ Jenkins๋กœ ๋Œ์•„๊ฐ€์„œ Jenkins ๊ด€๋ฆฌ > ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ด€๋ฆฌ > Slack Notification์„ ๋‹ค์šด๋ฐ›์•„์ค๋‹ˆ๋‹ค. ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด Manage Credentials์—์„œ ์•„๊นŒ ๋ณต์‚ฌํ•ด๋’€๋˜ slack์˜ ํ† ํฐ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

Credential๊นŒ์ง€ ์ €์žฅํ•˜๊ณ  ๋‚˜๋ฉด ์‹œ์Šคํ…œ ์„ค์ •์œผ๋กœ ๋“ค์–ด๊ฐ€์„œ Slack ๊ณต๊ฐ„์— Credential์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

3๏ธโƒฃ Jenkins ์•„์ดํ…œ ์ˆ˜์ •ํ•˜๊ธฐ

์•„์ดํ…œ > ๊ตฌ์„ฑ์œผ๋กœ ๋“ค์–ด๊ฐ€์„œ "๋นŒ๋“œ ํ›„ ์กฐ์น˜"๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋นŒ๋“œ ํ›„ ์กฐ์น˜์— Slack Notification์„ ์„ ํƒํ•ด์ฃผ๊ณ , ์•Œ๋ฆผ์„ ๋ฐ›์„ ์กฐ๊ฑด์„ ์„ ํƒํ•ด์ค๋‹ˆ๋‹ค. ์ €๋Š” Jenkins๊ฐ€ ๋นŒ๋“œ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  , ์„ฑ๊ณต/์‹คํŒจ ์‹œ์—๋งŒ ์•Œ๋ฆผ์„ ๋ฐ›๋Š” ๊ฒƒ์œผ๋กœ ์ €์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ์ •๋ง ๋‹ค ๋๋‚ฌ์Šต๋‹ˆ๋‹ค! ์ž์œ ๋กญ๊ฒŒ ์  ํ‚จ์Šค๋ฅผ ์ฆ๊ฒจ๋ด…์‹œ๋‹ค~!!!!