티스토리 뷰

CI(Continuous Integration) 란 말은 예전부터 많이 들어본 분들이 있을것이다. CI 와 함께 대표적인 CI 툴로 jenkins 를 알고있고, 사용하고있는 분들도 많을 것이다. 그러다가 언젠가부터 CI 를 넘어서서 CD 라는 용어가 들리기 시작했다. 어떤자료는 D 를 delivery 를 사용하기도하고, 어떤자료는 deployment 를 사용하기도한다. 대충 비슷해보이기는하는데 delivery 와 deployment 는 무슨 차이가 있을까? 혹은 같은 내용인데 두 가지 용어로 불리는걸까? 그리고 CD(delivery 든 deployment 든지간에) 와 CI 는 어떻게 다를까? 그 차이를 알아보자.

 

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

코드는 지속적으로 변경되고 추가되고 삭제된다. 그 과정에서 자동으로 테스트 케이스를 실행하며 기존 테스트가 정상적으로 통과되는지를 검증한다. 새로운 코드가 추가될수록 테스트 코드 역시 계속 쌓여갈것이며 이전에 작성한 테스트 케이스부터 추가로 작성한 테스트 케이스까지 모두 통과되는 것으로 코드의 무결성을 유지한다.

 

CD(Continuous Delivery, 지속적인 전달)

CI 가 문제없이 빌드되고 테스트되는것을 검증한다면 CD(delivery) 는 한단계 더 나아간다. 실제로 애플리케이션이 배포되기 전까지의 작업을 자동화한다. 빌드 결과물을 지속적으로 전달하지만 실제 배포는 사람이 개입하여 실행해주어야된다.

 

CD(Continuous Deployment, 지속적인 배포)

delivery 가 CI 보다 한단계 나아간 것이라면 CD(deployment) 는 delivery 보다 한단계 더 나아간다. CI 를 통해 신규 작성된 코드의 무결성을 검증하고, delivery 를 통해 배포 작업을 진행하며, 완료되면 배포까지 자동으로 진행된다. 배포까지 사람의 개입이 없이 자동으로 진행되며 애플리케이션은 지속적으로 신규 코드가 반영된다.

 

 

참고자료

https://www.atlassian.com/continuous-delivery/principles/continuous-integration-vs-delivery-vs-deployment

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함