1. Why CI and CD Need to Go Their Separate Ways
https://thenewstack.io/why-ci-and-cd-need-to-go-their-separate-ways/
Why CI and CD Need to Go Their Separate Ways
Explore how continuous promotion addresses the limitations of traditional CI/CD pipelines.
thenewstack.io

[ ์์ฝ ]
1. CI / CD์ ์งํ
- CI/CD๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ํ์์ ์ด๋ฉฐ, ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ ์๋์ ์์ ์ฑ์ ์ํด ์ค๊ณ๋์๋ค.
- ์ด๊ธฐ์๋ ์ฝ๋ ๋น๋ → ํ ์คํธ → ๋ฐฐํฌ์ ์์๋ก ์๋ํ๋ค. ๋ฐ๋ผ์, ๋ฐฐํฌ ํ๊ฒฝ์ด ๋น๊ต์ ์ ์ ์ธ ๊ธฐ์กด ๊ฐ์ ๋จธ์ ์ด๋ ๋ฌผ๋ฆฌ์ ์๋ฒ์์ ์ ์๋ํ๋ค.
- ๊ทธ๋ฌ๋ ์ปจํ ์ด๋(ex. ๋์ปค), ์ฟ ๋ฒ๋คํฐ์ค์ ๋ฑ์ฅ์ผ๋ก ๋ณํ๊ฐ ์๊ฒผ๋ค. ์ฟ ๋ฒ๋คํฐ์ค๋ ๋์ ์ด๊ณ ๋น๋๊ธฐ์ ์ธ ๋ฐฐํฌ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํ์ฌ ๊ธฐ์กด CI/CD ํ๋ก์ธ์ค์ ๋๊ธฐ์ ํน์ฑ๊ณผ ์ถฉ๋์ ์ผ์ผํค๊ฒ ๋์๋ค.
- ์ ํต์ ์ธ CI/CD ๋ฐฉ์์ด ์ฟ ๋ฒ๋คํฐ์ค์ ์ ์ฐํ ๋ฐฐํฌ ํ๊ฒฝ๊ณผ ์ ๋ง์ง ์๊ฒ ๋์๋ค. ์ด๋ฌํ ๋ถ์ผ์น๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด GitOps๊ฐ ๋์ ๋์์ง๋ง, ๋ค์ํ ํ๊ฒฝ์์์ ๋ฐฐํฌ ๊ด๋ฆฌ๊ฐ ๋นํจ์จ์ ์ด๊ณ ๋ณต์กํ์ฌ ๋ ๋ค๋ฅธ ๋ฐฉ์์ ์ฐพ๋ ๊ฒ์ด ํ์ํ๋ค.
2. ์ฟ ๋ฒ๋คํฐ์ค์ GitOps์ ๋์ ์ดํ
- ์ฟ ๋ฒ๋คํฐ์ค์ ๊ธฐ์กด CI/CD ํ๋ก์ธ์ค์ ๋๊ธฐ์ /๋น๋๊ธฐ์ ํน์ฑ์ ์ถฉ๋๋ก ์ธํ ๋จ์ ์ด ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ค.
- GitOps๋ ์ต์ข ๋ฐฐํฌ ์ํ์๋ง ์ง์คํ๋ฏ๋ก, ๋ณต์กํ ๋ค์ค ํ๊ฒฝ *์ค์ผ์คํธ๋ ์ด์ (์ฌ๋ฌ IT ์๋ํ ํ์คํฌ ๋๋ ํ๋ก์ธ์ค๋ฅผ ์กฐ์ ํ์ฌ ์คํํ๋ ๊ฒ)์ ์ฒ๋ฆฌํ ์ ์๋ค.
3. ๊ทธ๋์ ์ด๋ป๊ฒ? โก๏ธ Continuous Promotion
- CI์ CD ์ฌ์ด์ ๊ฐ๊ทน์ ๋ฉ์ฐ๊ธฐ ์ํด ๊ณ ์๋ ๊ฐ๋
- ํนํ ์ฟ ๋ฒ๋คํฐ์ค์ GitOps์ ๊ฐ์ ์ต์ ๊ธฐ์ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ ํต์ ์ธ CI/CD ํ์ดํ๋ผ์ธ์ ํ๊ณ๋ฅผ ํด๊ฒฐํ๋ค
- ์ฌ์ ์ ์ ์๋ ๊ท์น๊ณผ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ํฐํฉํธ๋ฅผ ํ๋ก๋ชจ์ ํ๋ ์ค๊ฐ ๋จ๊ณ๋ฅผ ์ถ๊ฐํ๋ค
- ๋ ์ธ๋ฐํ ๋ฐฐํฌ ํ๋ก์ธ์ค ์ ์ด, CI์ CD ์ญํ ๋ถ๋ฆฌ → ์ ์ฒด ํ๋ก์ธ์ค์ ์ ๋ขฐ์ฑ๊ณผ ํจ์จ์ฑ์ ๋์
- ex. Kargo
๊ฒฐ๋ก
CI์ CD๊ฐ ๋ถ๋ฆฌ๋์ด์ผ ํ๋ ์ด์ ๋ ์๋์ ๊ฐ๋ค.
CI๋ ์ฝ๋ ๋ณ๊ฒฝ์ ์์ฃผ ํตํฉํ์ฌ ๋ฌธ์ ๋ฅผ ๋นจ๋ฆฌ ๋ฐ๊ฒฌํ๋ ๋ฐ ์ค์ ์ ๋๋ ๋ฐ๋ฉด์, CD๋ ์ฝ๋ ๋ณ๊ฒฝ์ ํ๋ก๋์ ์ ๋ฐฐํฌํ๋ ๊ณผ์ ์ ์ค์ ์ ๋๋ค.
์ด ๋์ ์๊ตฌ์ฌํญ๊ณผ ๋ณต์ก์ฑ์ ์ ์ ๋ฌ๋ผ์ง๊ณ ์๊ณ , ๊ฐ๊ฐ์ ๊ธฐ๋ฅ์ ์ต์ ํํ๊ธฐ ์ํด CI์ CD๋ฅผ ๋ถ๋ฆฌํ ํ์์ฑ์ด ์ปค์ง๊ณ ์์์ ๊ฐ์กฐํ๋ค.
โ
CI(Continuous Integration) & CD(Continuous Delivery)?
- ์ง์์ ์ธ ํตํฉ๊ณผ ์ง์์ ์ธ ์ ๋ฌ
- ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์๋์ผ๋ก ํ ์คํธํ๊ณ ๋ฐฐํฌํ์ฌ ๊ฐ๋ฐ ์๋๋ฅผ ๋์ด๊ณ ํ์ง์ ์ ์งํ๋ ํ๋ก์ธ์ค
์ปจํ ์ด๋: ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ทธ ์ข ์์ฑ์ ๊ฒฉ๋ฆฌํด ์ผ๊ด๋ ํ๊ฒฝ์์ ์คํํ ์ ์๋๋ก ํจ์ฟ ๋ฒ๋คํฐ์ค: ์ปจํ ์ด๋ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋์ผ๋ก ๋ฐฐํฌ, ํ์ฅ, ๊ด๋ฆฌํ๋ ํ๋ซํผ์ผ๋ก ๋ณต์กํ ์ธํ๋ผ๋ฅผ ํจ์จ์ ์ผ๋ก ์ด์ํ ์ ์๊ฒ ๋์์ค
๐ค ์ด์ ๋ํ ๋์ ์๊ฐ
๊ธฐ์ ์ด ์ ์ ๋ฐ์ ํ๊ณ ์์์ ๋๋๋ค. ํนํ CI/CD์ ๊ด๋ จ๋ ์๋ก์ด ์ ๊ทผ ๋ฐฉ์, Continuous Promotion๊ณผ ๊ฐ์ ๊ฐ๋ ์ ํ๋์ ๋ณต์กํ ๋ฐฐํฌ ํ๊ฒฝ์์ ๋ ๋์ ์๋ํ์ ํจ์จ์ฑ์ ๋์์ ์ค๋ค.
Kargo์ ๊ฐ์ ๋๊ตฌ๋ฅผ ํตํด ์ฐ๋ฆฌ๋ ๋์ฑ ์ ๊ตํ๊ณ ์ ๋ขฐ์ฑ ์๋ ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ๊ตฌ์ถํ ์ ์๊ฒ ๋์๊ณ , ์ด๋ ๊ธฐ์ ์ด ๊ณ์ํด์ ์งํํ๊ณ ์๋ค๋ ํ์คํ ์ฆ๊ฑฐ๋ผ๊ณ ์๊ฐํ๋ค.
'๐๏ธ IT ๋ํฅ ํ์ ๋ฐ ๋์ ์๊ฐ ์ ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| BOM, DevSecOps: ์ํํธ์จ์ด ๊ณต๊ธ๋ง ๋ณด์์ ์ค์์ฑ (4) | 2024.09.05 |
|---|---|
| ๋์ ๋ฆฌํฉํ ๋ง์ ๋์๋ค. ๋ฆฌํฉํ ๋ง์ ์ข๋ค. (0) | 2024.09.04 |
| Linux: SSH ๋ฐ Key-Based ์ธ์ฆ (1) | 2024.09.02 |
| ๋ฆฌ๋ ์ค xz ๊ฒฐํจ: ๊ธฐ์ ์ ๋ฌธ์ ๊ฐ ์๋ ์ค๋ฆฌ์ ๋ฌธ์ (2) | 2024.08.30 |
| Java ๋์์ฑ: ๊ฐ์์ฑ ๋ฐ ๋๊ธฐํ (1) | 2024.08.29 |