31. CI/CD

어니언·2023년 3월 8일
0
post-thumbnail

CI
Continuous Integration의 약자로 개발자를 위한 자동화 프로세스인 지속적인 통합을 의미한다.
CI를 성공적으로 구현한 경우 어플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 푸쉬되어 공유 레포지토리에 통합이되고 여러 개발자가 동시에 어플리케이션 개발과 관련한 코드작업을 할경우 서로 충돌할 수 있는 문제를 해결 할 수 있다.

CD
CD는 Continuous Delivery(지속적인서비스 제공) 와 Continuous Deployment(지속적인 배포) 두개를 의미한다.

지속적인 서비스 제공은 어플리케이션이 UAT(사용자 수용 테스트)에서 인증된 후 개발팀이 수동으로 배포를 트리거할 때까지 기다려야 한다는 점을 제외하면 지속적 배포와 유사하다. 그러므로 개발자가 피드백을 수용해 구현하고 지속적으로 수정할 수 있으며, 최종 제품이 완벽하게 준비되었다고 느낄 때에만 프로젝트를 마감할 수 있다.

지속적인 배포는 개발자가 어플리케이션을 성공적으로 빌드하여 푸시하고 테스트후 어플리케이션을 지속적으로 변경하면 어플리케이션과 업데이트가 자동적으로 제공이된다. 코드 기능의 모든 측면에서 테스트가되고 이 테스트를 통과하면 어플리케이션의 작업버전이 제품으로 자동으로 푸시된다. 이러한 일련의 과정에서 승인 주기가 필요없어 개발자는 테스트 사이트의 효과와 안정성을 보장해야한다. 장점으로는 여러팀이 최소한의 수동작업으로 매우 짧은시간안에 여러앱 또는 업데이트를 배포할 수 있게 해주는 것이다.

CI/CD의 장점
앞서 이야기 한 바와 같이 많은 수정을 한번에 배포하지 않고, 자주 수정배포를 하면서, 개발의 효율성과 릴리즈 기간도 단축 시킬 수 있다.
소스커밋에서 릴리즈까지 자동으로 수행하기 때문에 작업에 편의를 좋게한다.

profile
안녕하세요.

0개의 댓글