๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โญ Personal_Study/DevOps

Jenkins ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ๋ฐ CI/CD ๊ตฌ์ถ•

by ํฌ์ŠคํŠธ์‰์ดํฌ 2023. 1. 25.

Jenkins ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ๋ฐ CI/CD ๊ตฌ์ถ•

  1. Jenkins ๋ฉ”์ธํ™”๋ฉด์—์„œ '์ƒˆ๋กœ์šด item' ํด๋ฆญ
  2. ์ด๋ฆ„ ์ž‘์„ฑ ๋ฐ Freestyle project ์„ ํƒ ํ›„ OK
  3. ์†Œ์Šค ์ฝ”๋“œ ๊ด€๋ฆฌ > Git ์„ ํƒ
  4. ๋นŒ๋“œ ์œ ๋ฐœ > Build when a change is pushed to Gitlab. ์„ ํƒ & Secret token > Generate ์„ ํƒ ํ›„ key ๋ณต์‚ฌ
  5. Build Steps > Execute shell ์„ ํƒ
  6. ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ ํด๋”๋กœ ์ด๋™ ํ›„ Dockerfile ์‹คํ–‰ํ•˜๋Š” ์‰˜ ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ
# ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ๋กœ ์ด๋™์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ
cd ${PROJECT_ROOT}

docker build -t ${CONTAINER_NAME} .
docker run -d -p ํฌํŠธ๋ฒˆํ˜ธ:ํฌํŠธ๋ฒˆํ˜ธ ${CONTAINER_NAME} 
  1. ๋นŒ๋“œ ํ›„ ์กฐ์น˜ > Publish build status to GitLab ์„ ํƒ
  2. ๋งจ ์•„๋ž˜ ์ €์žฅ ๋ฒ„ํŠผ ํด๋ฆญ
  3. GitLab์—์„œ ์ขŒ์ธก Settings > Webhooks
  4. 4๋ฒˆ์— ์žˆ๋Š” webhook URL์„ URL์— ์ž…๋ ฅํ•˜๊ณ  ๋ณต์‚ฌํ•ด ๋‘” Secret token์„ ์ž…๋ ฅ
  5. ํ”„๋กœ์ ํŠธ์— ๋งž๋Š” Trigger ์„ค์ • ํ›„ Add webhook ํด๋ฆญ
  6. ํ•˜๋‹จ Project Hooks์—์„œ ์›ํ•˜๋Š” Trigger๋ฅผ ์œ ๋ฐœํ•˜์—ฌ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅ

๋Œ“๊ธ€