CI 란??
새로운 코드 변경 사항이 정기적으로 빌드 및 테스트를 거쳐 공유 레포지토리 공유 레포지토리에 통합되는 것을 의미합니다. 결과적으로 여러 개발자가 동시에 작업하며 발생할 수 있는 충돌 문제르 수시로 확인하고 해결할 수 있습니다. 핵심은 버그를 빠르게 찾아 해결하고, 소프트웨어 품질을 개선하며, 새로운 업데이트 테스트와 출시 시간을 단축 시키는 것입니다.
CD 란?
개발자의 변경사항을 레포지토리에서 고객의 프로덕션 환경까지 자동으로 배포하는 것입니다.
CI / CD 사용 이유
CI: 특정 날에 머지하기로 할 경우, 여러 개발자가 작업한 내용이 크게 충돌할 수 있습니다. 따라서 CI를 통해 코드 변경 사항을 브랜치 또는 트랭크로 머지를 자주 수행합니다. 변경 사항이 머지되면, 자동화 테스트를 통해 애플리케이션에 반영되었는지 확인할 수 있습니다. 테스트 수행 후 문제가 발생하면 수정하고, 아니라면 통합합니다. 이 과정은 보통 젠키스와 같은 툴을 사용해 진행됩니다.
CD : 프로덕션 준비가 완료된 빌드를 코드 레포지토리에 자동으로 배포합니다. 테스트 자동화가 되어 있어야 가능 하며, 실제 사례에서는 개발자가 애플리 케이션 변경 사항을 작성한 이후 몇 분 이내에 테스트를 통과하고 반영되는 것을 의미합니다.
마치며,,,
CI / CD 는 지속적 통합과 지속적 제공/ 배포를 의미하여, 애플리케이션 개발에 신속한 자동화 및 모니터링을 추가하여 개발 및 배포를 최적화 하는 것입니다.