CI/CD๋?
๋น๋, ํ ์คํธ, ๋ฐฐํฌ์ ์๋ํ๋ฅผ ์๋ฏธํ๋ค.
CI/CD๋?
Continuous Integration ๋น๋/ํ ์คํธ ์๋ํ ๊ณผ์
commitํ ๋๋ง๋ค ๋น๋์ ์ผ๋ จ์ ์๋ ํ ์คํธ๊ฐ ์ด๋ฃจ์ด์ ธ, ์ฝ๋ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ์ฌ์ ์ ๋ฐฉ์งํ๋ค.
Continuous Deployment ๋ฐฐํฌ ์๋ํ ๊ณผ์
์ฝ๋ ๋ณ๊ฒฝ์ด ํ์ดํ๋ผ์ธ์ ์ด์ ๋จ๊ณ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ํต๊ณผํ์ ๊ฒฝ์ฐ ๋ณ๋์ ๊ฐ์ ์์ด ํด๋น ๋ณ๊ฒฝ์ฌํญ์ ํ๋ก๋์ ์ ๋ฐฐํฌํ๋ค.
๋์ ํจ๊ณผ
๊ธฐ์กด์ ์ฝ๋ ํตํฉ ํ๋ก์ธ์ค
- ๊ฐ ๊ฐ๋ฐ์๊ฐ feature ๋ธ๋์น์ push
- ๊ฐ ์ฝ๋๋ฅผ ํตํฉ
- ํตํฉ ๊ณผ์ ์์ ๋๋ฒ๊น
๐ ์ฝ๋์ ์์ด ๋ง์์ง์๋ก ๋๋ฒ๊น ์ด ์ค๋ ๊ฑธ๋ฆด ์๋ฐ์ ์๋ค.
CI/CD ์ ์ฉ ํ ์ฝ๋ ํตํฉ ํ๋ก์ธ์ค
- ๊ฐ ๊ฐ๋ฐ์๊ฐ feature ๋ธ๋์น์ push
- git push๊ฐ trigger๋ก ์์ฉํด CI ์๋ฒ์์ ์์์ Build, Test, Lint๋ฅผ ์คํ
- 2๋ฒ์์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค๋ฉด ์ด๋ฅผ ๊ฐ๋ฐ์์๊ฒ ์๋ฆฐ๋ค. ๊ฐ๋ฐ์๋ ์๋ฌ๋ฅผ ์์ ํ ํ main ๋ธ๋์น์ mergeํ๋ค.
- main ๋ธ๋์น์์ Build, Test๊ฐ ์ ์์ ์ผ๋ก ์ํ๋์๋ค๋ฉด CI ์๋ฒ์์ ์๋์ผ๋ก Deploy ๊ณผ์ ์ ์ํํ๋ค.
๐ ๊ฐ ํ์์ด push์์ ์๋ฌ ์ฌ๋ถ๋ฅผ ํ์ธํ๊ธฐ ๋๋ฌธ์ ๋๋ฒ๊น ์๊ฐ์ด ์ค์ด๋ ๋ค. ๋ํ ๊ฐ๋ฐ์๊ฐ ์ผ์ผํ Build, Test, Deploy๋ฅผ ํ ํ์๊ฐ ์๋ค.
์ข ๋ฅ
- Jenkins
an open source automation server which enables developers around the world to reliably build, test, and deploy their software. - Github Actions
GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your build, test, and deployment pipeline. You can create workflows that build and test every pull request to your repository, or deploy merged pull requests to production. - CircleCI
- TravisCI
https://seosh817.tistory.com/104