CI / CD
- 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법
- 지속적인 통합(Continuous Integration), 지속적인 서비스 제공(Continuous Delivery), 지속적인 배포(Continuous Deployment)으로 구성
- 개발자는 개발에 집중하고 개발자가 아닌 사람도 빌드, 배포 할 수 있게 하는 것
CI (Continuous Integration) 란?
- 지속적 통합
- 개발자를 위한 자동화 프로세스
- 정기적인 빌드 및 테스트(유닛테스트 및 통합테스트)를 거쳐 공유 레포지터리에 병합되는 과정
- 다수의 개발자가 코드작업 시 충돌을 빠르게 찾아서 자주 수정 가능
- 새로운 업데이트의 검증 및 릴리즈의 시간을 단축시키는 것
CD (Continuous Delivery) & (Continuous Deployment)란?
- 지속적 제공 혹은 지속적 배포
- Continuous Delivery는 공유 레포지토리로 자동으로 Release 하는 것
- Continuous Deployment는 Production 레벨까지 자동으로 deploy 하는 것
- 최대한 빠른 시간 내에 최신 버전의 Production을 제공 가능(배포)
- 개발팀과 운영팀의 커뮤니케이션 부족 문제를 해결
CI/CD 지원 툴
- Jenkins
- Hudson
- Bamboo
- Travis CI
- 등등
참고자료 : https://artist-developer.tistory.com/24
참고자료 : https://hoi5088.medium.com/ci-cd-%EA%B0%9C%EB%85%90-4e6a45dbcfe2