CI/CD는 Continuous Integration / Continuous Deployment 의 약자다.
한국어로 번역하면 지속적인 통합과 지속적인 배포를 뜻함.
Continous 즉 지속적이라는 단어는 바로 자동화를 통한 지속을 이야기하고 CI/CD 시스템은 빌드, 테스트 그리고 배포를 자동화 함으로 개발자들의 생산성을 높이고
배포를 더 빠르게 더 자주 할 수 있도록 도와준다.
이런걸 지속적인 배포라고 한다.
CI의 뜻
CI는 지속적인 통합으로 여기서 Integration(통합)은 바로 개발자들이 작업한 코드가 통합되어서 하나로 합쳐지는것을 이야기함 즉, Git 환경에서 개발자들이 구현한 코드를 담고 있는 feature branch들이 develop branch에 머지되어 스테이징 서버에 배포되는 것을 말함.
CD의 뜻
Continuous Deployment는 이름 그대로 지속적인 배포를 뜻함. Continuous Integration의 다음 부분들이 자동화되는 것을 말한다. 앞서 살펴본 CI 과정을 거치면 최신 코드들이 develop 브랜치에 merge가 되어 있을것이다. 이제 실제 유저들이 사용할 수 있도록 배포되려먼 production 서버에 배포가 되어야 한다. Production 서버의 배포까지 이루어 지기 위해서는 그 전에 많은 테스트들이 이루어져야 하는 것이다.
여러가지 CICD 툴
1. Jenkins
2. Travis CI
3. Circle CI
4. Github Action
등 다양한 CI/CD플랫폼이 존재한다.