Jenkins Build and ECR Push

Jenkins๋กœ Docker build ํ›„ Amazon ECR์— Push ํ•˜๊ธฐ!

Before getting started

Jenkins๋กœ Docker build & Push ํ•˜๊ธฐ

1. ํ•ด๋‹น ์„œ๋น„์Šค์˜ ์†Œ์Šค์— Dockerfile์„ ํฌํ•จ์‹œํ‚จ๋‹ค

2. jenkins ์„œ๋ฒ„๊ฐ€ ECR์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •์„ ํ•ด์ค€๋‹ค

3. jenkins์— ํ•ด๋‹น ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๋ฐฐํฌ Job์„ ๋งŒ๋“ค๊ณ , ํ•ด๋‹น Job์ด ์‹คํ–‰๋  ๋•Œ ๋ฏธ๋ฆฌ ํฌํ•จ ์‹œ์ผœ๋†“์€ Dockerfile์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œ ํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค

4. jenkins ์„œ๋ฒ„์—์„œ ์ƒˆ๋กœ์šด docker ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ๋‚˜์„œ ํ•ด๋‹น ์ด๋ฏธ์ง€๋ฅผ ECR์— push ํ•œ๋‹ค

5. ๋งˆ์ง€๋ง‰์œผ๋กœ ํ…Œ์ŠคํŠธ ์„œ๋ฒ„์—์„œ ECR์˜ ์ƒˆ๋กœ์šด ์ด๋ฏธ์ง€๋ฅผ pull ๋ฐ›์€ ํ›„ ํ•ด๋‹น ๊ธฐ์กด์˜ ์ปจํ…Œ์ด๋„ˆ๋Š” ์‚ญ์ œํ•˜๊ณ  ์ƒˆ๋กœ์šด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋งŒ๋“ค์–ด์ค€๋‹ค

Configure Jenkins job example

ex1) Discard old builds

image-20201020130511370
  • Discard old builds

    • ์œ„์˜ ์˜ˆ์‹œ์ฒ˜๋Ÿผ ์„ค์ •ํ•˜๋ฉด Build History ๋ฅผ 10์ผ๋™์•ˆ ์ €์žฅํ•˜๊ณ , ์ตœ๋Œ€ 20๊ฐœ์˜ build history๋ฅผ ์ €์žฅํ•œ๋‹ค

      ex)

      image-20201022013851907

ex2) Invoke Gradle script

image-20201022014231728
  • Gradle๋กœ build๋œ Java project์˜ ๊ฒฝ์šฐ, ์œ„์™€ ๊ฐ™์ด Task๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค

ex3) Execute shell

image-20201022014449325
  • ์œ„์™€ ๊ฐ™์ด Jenkins job build ์‹œ ์‹คํ–‰ํ•  shell script๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค

ex4) Post-build Actions

image-20201022014706282
  • Build ํ›„ artifact๋ฅผ ์ €์žฅํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค

Last updated

Was this helpful?