๐[CI-CD] CI-CD๋?
CI-CD ํ์ดํ๋ผ์ธ์ด๋?
CI-CD
๋, ์ง์์ ํตํฉ(Continuous integration, CI) ๊ณผ ์ง์์ ์ ๊ณต(Continuous delivery, CD) ๊ฐ ํฉ์ณ์ง ๋ง์ด๋ค.
CI/CD๋ devOps
ํ์ ์ํ ๊ถ์ฅ ์ฌํญ์ด์ ์ ์์ผ ๋ฐฉ๋ฒ๋ก
์ ๊ถ์ฅ ์ฌํญ์ด๊ธฐ๋ ํ๋ค.
CI/CD๋ ํตํฉ๊ณผ ์ ๊ณต์ ์๋ํํจ์ผ๋ก์จ ์ํํธ์จ์ด ๊ฐ๋ฐํ์ด ์ฝ๋ ํ์ง๊ณผ ์ํํธ์จ์ด ๋ณด์์ ๋ณด์ฅํ๋ ๋์์ ๋น์ฆ๋์ค ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ๋ ๋ฐ ์ง์คํ ์ ์๊ฒ ํด์ค๋ค.
CI(Continuous integration)
CI
๋ ๊ฐ๋จํ ํ๋ฉด ๋น๋/ํ
์คํธ ์๋ํ ๊ณผ์
์ด๋ค.
CI๊ฐ ์ฑ๊ณต์ ์ผ๋ก ๊ตฌํ๋๋ฉด ์ ํ๋ฆฌ์ผ์ด์
์ ๋ํ ์๋ก์ด ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์ ๊ธฐ์ ์ผ๋ก ๋น๋ ๋ฐ ํ
์คํธ ๋์ด ๊ณต์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ํตํฉ๋๋ค.
CD(Continuous delivery)
CD
๋ ์ง์์ ์ธ ์๋น์ค ์ ๊ณต or ์ง์์ ์ธ ๋ฐฐํฌ ๋ฅผ ๋ปํ๋ค.
์ง์์ ์ธ ์๋น์ค ์ ๊ณต์ ๊ฐ๋ฐ์๋ค์ด ์ ํ๋ฆฌ์ผ์ด์
์ ์ ์ฉํ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฒ๊ทธ ํ
์คํธ๋ฅผ ๊ฑฐ์ณ ๋ฆฌํฌ์งํ ๋ฆฌ(์: GitHub ๋๋ ์ปจํ
์ด๋ ๋ ์ง์คํธ๋ฆฌ)์ ์๋์ผ๋ก ์
๋ก๋๋๋ ๊ฒ์ ๋งํ๋ค.
์ง์์ ์ธ ๋ฐฐํฌ(๋ ๋ค๋ฅธ ์๋ฏธ์ โCDโ: Continuous Deployment)๋ ๊ฐ๋ฐ์์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๊ณ ๊ฐ์ด ์ฌ์ฉ ๊ฐ๋ฅํ ํ๋ก๋์
ํ๊ฒฝ๊น์ง ์๋์ผ๋ก ๋ฆด๋ฆฌ์คํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
CD๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๊ตฌํํ ๊ฒฝ์ฐ, ์ฝ๋ ๋ณ๊ฒฝ์ด ํ์ดํ๋ผ์ธ์ ์ด์ ๋จ๊ณ๋ฅผ ๋ชจ๋ ์ฑ๊ณต์ ์ผ๋ก ํต๊ณผํ๋ฉด ์๋ ๊ฐ์
์์ด ํด๋น ๋ณ๊ฒฝ ์ฌํญ์ด ํ๋ก๋์
์ ์๋์ผ๋ก ๋ฐฐํฌ๋๋ค.
CI-CD ์ข ๋ฅ
- Jenkins
- CircleCI
- TravisCI
- Github Actions
์ฐธ๊ณ ์๋ฃ
https://www.ciokorea.com/insider/233289#csidxd2a58459bec90549db11113eee87bcf
https://www.redhat.com/ko/topics/devops/what-is-ci-cd
https://seosh817.tistory.com/104
๋๊ธ๋จ๊ธฐ๊ธฐ