728x90
๋ฐ์ํ
CI/CD๋?
CI/CD๋ Continuous Integration(์ง์์ ํตํฉ)๊ณผ Continuous Delivery/Deployment(์ง์์ ์ ๋ฌ/๋ฐฐํฌ)์ ์ฝ์์ด๋ค.
Continuous Integration(CI)
- ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ์์ฃผ ํตํฉํ๊ณ , ์ด๋ฅผ ์๋์ผ๋ก ํ ์คํธ ๋ฐ ๊ฒ์ฆํ์ฌ ์ ์ํ๊ฒ ํผ๋๋ฐฑ์ ๋ฐ๋ ํ๋ก์ธ์ค์ด๋ค.
- CI์ ๋ชฉํ๋ ์ฝ๋ ์ถฉ๋ ๋ฐฉ์ง, ๋น ๋ฅธ ํผ๋๋ฐฑ ๋ฃจํ ์ ๊ณต, ์ฝ๋ ํ์ง ํฅ์์ด๋ค.
Continuous Delivery(CD)
- CI ๊ณผ์ ์ดํ, ํ ์คํธ๋ฅผ ํต๊ณผํ ์ฝ๋๋ฅผ ์คํ ์ด์ง ํ๊ฒฝ๊น์ง ์๋์ผ๋ก ์ ๋ฌํ๋ ํ๋ก์ธ์ค์ด๋ค.
- ๋ฆด๋ฆฌ์ค๋ฅผ ์์ ์ ์ผ๋ก ์ค๋นํ๊ณ , ์๋ ๊ฐ์ ์์ด ๋ฐฐํฌ ๊ฐ๋ฅ ์ํ๋ฅผ ์ ์งํ๋ ๊ฒ์ด ๋ชฉํ์ด๋ค.
Continuous Deployment(CD)
- Coninuous Delivery์ ํ์ฅ์ผ๋ก, ํ ์คํธ๋ฅผ ํต๊ณผํ ์ฝ๋๋ฅผ ํ๋ก๋์ ํ๊ฒฝ์ ์๋ ๋ฐฐํฌํ๋ ํ๋ก์ธ์ค์ด๋ค.
- ๋ฐฐํฌ ๊ณผ์ ์ ์๋ํ์ ๋ฆด๋ฆฌ์ค ์๋ ๊ทน๋ํ๊ฐ ๋ชฉํ์ด๋ค.
- ์์ ์๋ํ๋ฅผ ์ํด ์ฒ ์ ํ ํ ์คํธ ์ฒด๊ณ๊ฐ ํ์ํ๋ค.
CI/CD ํ์ดํ๋ผ์ธ ๊ตฌ์ฑ ์์
CI/CD๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋๋ ํ์ดํ๋ผ์ธ์ ์ค๊ณํด์ผ ํ๋ค.
- ์์ค ์ฝ๋ ๊ด๋ฆฌ
- Git, GitHub, GitLab ๋ฑ๊ณผ ๊ฐ์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ ์ฌ์ฉ.
- ๋ธ๋์น ์ ๋ต ์๋ฆฝ.
- ๋น๋
- ์์ค ์ฝ๋๋ฅผ ์คํ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ๋ณํ.
- ์๋ํ ๋๊ตฌ: Maven, Gradle, npm ๋ฑ.
- ํ ์คํธ
- ๋จ์ ํ ์คํธ, ํตํฉ ํ ์คํธ, E2E ํ ์คํธ ์คํ.
- ํ ์คํธ ์๋ํ ๋๊ตฌ: JUnit, Selenium, Jest.
- ๋ฐฐํฌ
- ํ ์คํธ ํ ์ฝ๋๋ฅผ ์คํ ์ด์ง ๋๋ ํ๋ก๋์ ํ๊ฒฝ์ผ๋ก ๋ฐฐํฌ.
- ๋ฐฐํฌ ๋๊ตฌ: Docker, Kubernetes, Ansible, Terraform.
- ๋ชจ๋ํฐ๋ง
- ๋ฐฐํฌ ํ ์ ํ๋ฆฌ์ผ์ด์ ์ํ๋ฅผ ์ค์๊ฐ์ผ๋ก ํ์ธ.
- ๋ชจ๋ํฐ๋ง ๋๊ตฌ: Prometheus, Grafana, ELK Stack.
CI/CD์ ์ค์์ฑ
- ๊ฐ๋ฐ ์๋ ํฅ์: ์ฝ๋ ๋ณ๊ฒฝ์ฌํญ์ ๋น ๋ฅด๊ฒ ๋ฐฐํฌ.
- ํ์ง ๋ณด์ฅ: ์๋ํ๋ ํ ์คํธ๋ฅผ ํตํด ์ฝ๋ ํ์ง์ ์ ์ง.
- ํ์ ๊ฐํ: ์ฌ๋ฌ ํ์ ๊ฐ์ ์ฝ๋ ํตํฉ ๋ฌธ์ ๋ฅผ ์ต์ํ.
- ์ด์ ์์ ์ฑ: ์ง์์ ์ธ ๋ฐฐํฌ๋ก ์์ ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด์ ๊ฐ๋ฅ.
์ฃผ์ ๋๊ตฌ ๋ฐ ํ๋ซํผ
- CI ๋๊ตฌ: Jenkins, Travis Ci, CircleCI, GitHub Actions.
- CD ๋๊ตฌ: ArgoCD, Spinnaker, Octopus Deploy.
- ์ข ํฉ ํ๋ซํผ: GitLab CI/CD, AWS CodePipeline, Azure DevOps.
CI/CD ๋์ ์ ์ ์์ฌํญ
CI/CD ๋์ ์ ์๋ํ๋ ํ ์คํธ๊ฐ ๋ถ์กฑํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐฐํฌ ๋จ๊ณ๊น์ง ๋์ด๊ฐ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐฐํฌ ๊ณผ์ ์์ ๋ฏผ๊ฐ ์ ๋ณด๊ฐ ๋ ธ์ถ๋์ง ์๋๋ก ๊ด๋ฆฌํด์ผ ํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ฒ์๋ถํฐ ๋ชจ๋ ๊ณผ์ ์ ์๋ํํ๊ธฐ๋ณด๋ค๋, ์์ ๋ถ๋ถ๋ถํฐ ์ ์ง์ ์ผ๋ก CI/CD๋ฅผ ๊ตฌ์ถํ๋ ๊ฒ์ด ์ข๋ค.
728x90
๋ฐ์ํ
'CICD' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CI/CD] SonarQube๋? (1) | 2025.01.22 |
---|---|
[CI/CD] Docker๋ก Jenkins ์ค์นํ๊ธฐ (0) | 2025.01.11 |