1. BackGround
- 모든 개발이 완료된 이후에 코드 품질을 관리하는 방식의 단점을 해소
- 분업과 협업의 과정에서는 코드의 통합 과정이 까다롭고 통합 테스트 하는데 많은 Cost가 발생하는 문제를 해소
- 개발 브랜치가 일정 기간 이상 이용되면, 많은 위험성이 커지는 단점을 극복하고자 변동 내용의 반영 빈도를 늘리는 자동화 등장
2. CI/CD 란?
- CI/CD는 개발 단계를 자동화 하여 Application을 보다 짧은 주기로 고객에게 제공하는 방법
- 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포를 가능하게함
- 새로운 코드의 통합으로 인하여 개발 및 운영팀에 발생하는 문제를 해결하는 솔루션
3. CI(Continuous Integration, 지속적 통합)란?
- 개발을 하면서 코드에 대한 통합을 지속적으로 진행하여 품질을 유지하는 것
- 개발자간의 코드 충돌 방지
- 정기적인 빌드 및 테스트를 통해 공유 저장소(Repository)에 병합되는 과정
4. CD(Continuous Delivery, 지속적 배포)
- 변경 사항이 버그 테스트를 거쳐 저장소(Repository)에 자동으로 업로드 되는 것
- 변경 사항을 저장소에서 실제 서비스까지 자동으로 릴리스 하는 것
5. CI/CD Tool
- Jenkins : 무료
- Atlassian Bomboo : 유료
6. 정리
- CI : 빌드 및 테스트의 자동화
- CD : 서비스 배포의 자동화
참고 자료 1 : https://en.wikipedia.org/wiki/CI/CD
참고 자료 2 : https://hoi5088.medium.com/ci-cd-%EA%B0%9C%EB%85%90-4e6a45dbcfe2
참고 자료 3 : https://itholic.github.io/qa-cicd/
'Research' 카테고리의 다른 글
Docker 명령어 정리 (0) | 2022.09.09 |
---|---|
Docker (0) | 2022.09.08 |
마크업 언어(markup language) (0) | 2020.08.28 |