๐๋ค๋ก๊ฐ๊ธฐ
Jenkins
Jenkins๋ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์คํ์์ค CI/CD ๋๊ตฌ ์ค ํ๋๋ค. Jenkins๋ฅผ ์ฌ์ฉํ๋ฉด, ํ
์คํธ, ๋น๋, ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ๊ณ , ์ฃผ๊ธฐ์ ์ผ๋ก ๋๋ ์ฝ๋ ๋ณ๊ฒฝ์ด ๊ฐ์ง๋ ๋๋ง๋ค ์ด๋ฌํ ์์
์ ์คํํ ์ ์๋ค.
- ํ์ฅ์ฑ: Jenkins๋ ํ๋ฌ๊ทธ์ธ ์ํคํ
์ฒ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์, ๋ฌด์ํ ๋ง์ ํ๋ฌ๊ทธ์ธ๋ค์ ์ฌ์ฉํด ๊ธฐ๋ฅ์ ํ์ฅํ ์ ์๋ค. ์ด๋ Jenkins๊ฐ ๋ค์ํ ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ์์
์ ์ ํฉํ๊ฒ ๋ง๋ ๋ค.
- Pipeline: Jenkins Pipeline์ CI/CD ์ํฌํ๋ก์ฐ๋ฅผ ์ฝ๋๋ก ์์ฑํ ์ ์๊ฒ ํด์ค๋ค. ์ด๋ ํ์ดํ๋ผ์ธ์ด ๋ณต์กํด์ง์๋ก ๊ด๋ฆฌ๊ฐ ํธ๋ฆฌํ๋ฉฐ, ์์ค ์ฝ๋ ๊ด๋ฆฌ ์์คํ
์ ํ์ดํ๋ผ์ธ ์ฝ๋๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ ์ ์๋ค.
GitLab CI/CD
GitLab CI/CD๋ GitLab์ ์ผ๋ถ๋ก์, ์์ค์ฝ๋ ์ ์ฅ์์ ์์ฐ์ค๋ฝ๊ฒ ํตํฉ๋ CI/CD ์์คํ
์ด๋ค. GitLab CI/CD๋ฅผ ์ฌ์ฉํ๋ฉด, ์ ์ฅ์์ ํธ์๋๋ ๋ชจ๋ ์ฝ๋ ๋ณ๊ฒฝ์ ๋ํด ์๋์ผ๋ก ํ
์คํธ, ๋น๋, ๋ฐฐํฌ ์์
์ ์ํํ ์ ์๋ค.
- ์ฝ๋์ CI/CD์ ํตํฉ: GitLab์ ์ฝ๋ ์ ์ฅ์์ CI/CD ํ์ดํ๋ผ์ธ์ด ํ๋์ ํ๋ซํผ์ ํตํฉ๋์ด ์๋ค. ์ด๋ก ์ธํด ๊ฐ๋ฐ์๋ CI/CD ํ๋ก์ธ์ค๋ฅผ ์ฝ๊ฒ ์ค์ ํ๊ณ ๊ด๋ฆฌํ ์ ์๋ค.
- YAML ๊ธฐ๋ฐ์ ํ์ดํ๋ผ์ธ ์ค์ : GitLab CI/CD๋ .gitlab-ci.yml ํ์ผ์ ์ฌ์ฉํ์ฌ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ฑํ๋ค. ์ด ํ์ผ์๋ ํ
์คํธ, ๋น๋, ๋ฐฐํฌ์ ๊ฐ์ ์ฌ๋ฌ ๋จ๊ณ๋ฅผ ์ ์ํ ์ ์๋ค.
๊ทธ ์ธ์ CI/CD ๋๊ตฌ๋ค
- Travis CI: GitHub์ ํตํฉ๋์ด ๊ฐํธํ๊ฒ ์ฌ์ฉํ ์ ์๋ CI ์๋น์ค. .travis.yml ํ์ผ์ ํ
์คํธ์ ๋ฐฐํฌ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ค.
- CircleCI: ๋งค์ฐ ์ ์ฐํ๋ฉฐ ๊ฐ๋ ฅํ CI/CD ๋๊ตฌ. YAML ํ์ผ๋ก ํ์ดํ๋ผ์ธ์ ๊ตฌ์ฑํ๋ฉฐ, Docker๋ฅผ ์ง์.
- GitHub Actions: GitHub์์ ์ง์ ์ ๊ณตํ๋ CI/CD ๋๊ตฌ๋ก, GitHub ์ ์ฅ์์ ์์ฐ์ค๋ฝ๊ฒ ํตํฉ๋์ด ์๋ค.