๐ง Jenkins ๊ณต๋ถ ์์!
์์งํ ๋ฉ์๊ฒ Jenkins๊ฐ ๋ญ์ง, Jenkins๋ฅผ ํฌ๊ฒ ๋ดค์ ๋ ์ด๋ป๊ฒ ์ด์ฉํ๋ ํด์ธ์ง ๋จผ์ ์ ๊ณ ์์ํ๊ณ ์ถ์์ผ๋, ์์งํ ์ด์ ์์ํ ์ฐธ์ด๋ผ ๋ค ๋ชจ๋ฅธ๋ค..ใ ใ ใ ใ Jenkins๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ ์ ํ๋ธ์ T academy ์ฑ๋์์ ์ด๋จํ ์์ง๋์ด๋์ด ์ค๋ช ํ๋ ๊ฐ์๋ฅผ ๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค. AWS๋ฅผ ์ด์ฉํด์ ํ์๊ธด ํ๋๋ฐ, ๋ก์ปฌ์์ ์ค์ตํด๋ ์ค๊ฐ์ค๊ฐ ๋ค๋ฅธ ๊ฒ๋ง ๋นผ๋ฉด ํฐ ๊ฐ๋ ์ ๋๋ ์ดํดํ๊ณ ์ค์ตํ ์ ์์ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
Jenkins ๊ณต๋ถ๋ฅผ ๋ง ์์ํ๋ฉด์ ์ฒ์ ์ ์ฌ์ค์ intelliJ๋ Jenkins์ ๋ํ ์ง์์ด ์๋ค. ํ๋ฌ๊ทธ์ธ์๋ Jenkins plugin์ ๋ค์ด๋ฐ์ ์๋ ์์ง๋ง, ๋ฑํ ์๋์์ฑ์ ์ง์ํ๋ค๊ฑฐ๋ ์ปจ๋ฒค์ ์ ์ง์ ์ ์ผ๋ก ์ง์ํ์ง ์๋๋ค. Docker๋ Dockerfile์ ๋ง๋ค๋ฉด ํ์ผ ์ด๋ฏธ์ง๋ ๋ฐ๋๊ณ ๋๋ฆ ์๋์์ฑ์ด๋ ์ปจ๋ฒค์ ์ ์ง์ํ๋๋ฐ, Jenkins๋ Jenkinsfile์ ๋ง๋ค๋ฉด ๊ทธ๋ฅ file๋ก ์ธ์ํด๋ฒ๋ฆฐ๋ค.... ๊ทธ๋์ ๋ฐ๋ก Jenkins๋ฅผ Groovy๋ฅผ ์ด์ฉํด์ ๊ฐ๋ฐํ๊ฒ ๋ค๊ณ ์ง์ ์ ํด์ค์ผ ๊ทธ ๋๋ถํฐ Jenkins๋ฅผ ์ด์ฉํ ์ ์๋ค... ๋ํ, ์๋์์ฑ์ด๋ ์ปจ๋ฒค์ ์ ์ง์ํ์ง ์๋ค๋ณด๋, Jenkins์์ ์์ฒด์ ์ผ๋ก .gdsl์ด๋ผ๋ ํ์ฅ์๋ฅผ ํตํด์ intelliJ์์ ์ด์ฉํ ์ ์๊ฒ ์ ๊ณตํ๋๋ฐ ์ด๋ฅผ ์ง์ ์์ฑํ๋ ๋ฐฉ๋ฒ๋ ์์ง๋ง, ๋ค๋ฅธ ๊ฐ๋ฐ์๋ค์ด ์ค์ ํด๋์ Jenkinsfile.gdsl์ ์ด์ฉํ๋ฉด ๊ทธ ์๊ณ ๋ฅผ ๋์ด๋ด๋ฉด์ ์๋์์ฑ๊ณผ ์ปจ๋ฒค์ ์ ์ด๋ ์ ๋๋ ์ ์งํ ์ ์๋ค. (๋ฌผ๋ก ์๋ฒฝํ์ง๋ ์์์.. ์์ ๋ฐฉํธ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.) ์ด ๋ฐฉ๋ฒ์ ๊ตฌ๊ธ๋ง์ ํตํด ์์๋ณด๋ฉด ๊ธ๋ฐฉ ์ฐพ์ ์ ์๋ค. (ํน์๋ผ๋ ๋ชป์ฐพ๊ฒ ๋ ๋ถ์ ๋๊ธ ๋จ๊ฒจ์ฃผ์๋ฉด ๋งํฌ ๊ณต์ ๋ฅผ ํด๋๋ฆฌ๊ฒ ๋ค.)
์ฌํํผ, ์ด์ ํ๋ก์ ํธ์์๋ ci/cd ํ์ดํ๋ผ์ธ์ github์์ ์ง์ํ๋ actions๋ฅผ ํตํด์ ๊ตฌ์ถํ๋๋ฐ, Jenkins๊ฐ ๋น์ทํ ์ค ์์๋ ๋๋ฅผ ๋ฐ์ฑํ๋ค.. ์์ ๋ค๋ฅธ ๊ฒ์ ์๋์ง๋ง ์ฝ๊ฐ ์ด์ํ๊ธฐ๋ ํ๋ค. ์ฒ์ ๋ฐฐ์ฐ๋ ๋๋์ด๋๊น..? (์ง์ง ์ฒ์์ ๋ง์ง๋ง..) ๊ทธ๋๋ ์ด๋ฒ ํ๋ก์ ํธ๋ Jenkins๋ฅผ ํตํด์ ci/cd ํ์ดํ๋ผ์ธ์ ๋ง๋ค๊ธฐ๋ก ํ์ผ๋๊น ๋ ์ด์ฌํ ๊ณต๋ถํด๋ด์ผ๊ฒ ๋ค. ๋ญ, Jenkins์ผ ์๋ ๋ง์ด ์ฐ์ด๋ ํด์ด๋๊น ๋ฏธ๋ฆฌ๋ฏธ๋ฆฌ ๊ณต๋ถํด์ ๋์ ๊ฒ์ ์๋ค๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์~~ ์คํ๋ ค ์ข์! ๊ฐ๋ณด์๊ตฌ~~