CI / CD 란?

어플리케이션의 개발단계에서 부터 배포까지의 모든 단계들을 자동화를 통해 좀 더 효율적이고 빠르게 사용자에게 자주 배포할 수 있도록 만드는 것이다.

CI(Continuous Integration) : 지속적인 통합

버그 수정 및 새로 만드는 기능들이 매인 Repository에 주기적으로 빌드되고 테스트 되서 Merge되는것을 말한다.

1. 코드 변경사항을 주기적으로 빈번하게 머지해야 한다.

기능들을 최대한 작은단위로 개발하고 통합해 나가는 것이 같은 프로젝트를 만들어 나가는 동료 개발자들와의 소통에서도 원활하게 이루어지고 사용자들에게도 빠르게 배포가 가능하다.

2. 통합을 위한 단계의 자동화

주기적으로 Merge된 변경사항이 자동으로 build되어서 코드 변경 이후에도 빌드가 성공적으로 되는지 확인이 되어야 한다. 그리고 기존 시스템의 버그들이 자동으로 테스트도 되어야 한다. 주기적으로 Merge하기 때문에 개발 생산성 향상빠른 문제점 발견이 가능하다.

CD(Continuous Delivery / Deployment) : 지속적인 제공 / 배포

마지막 배포단계에서 어떻게 자동화로 만들수 있을지에 대한 고민을 하는 단계이다.

Continuous Delivery

CI를 통해 주기적으로 변경된 코드들이 자동으로 Build되고 Test되었다면 배포단계에서 Release할 준비를 마친다. 여기서 준비된 Release가 문제가 없는지 개발자 혹은 검증팀의 검증을 마친뒤 수동적으로 배포하는 단계가
Continuous Delivery(지속적인 제공) 이다.

Continuous Deployment

Release 단계에서 모든 과정을 자동으로 해놓는 것이 Continuous Deployment(지속적인 배포) 이다.

profile
프론트앤드 공부중인 챔수입니다.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN