구조 및 데이터 관리/INFRA

Devops - CI, CD의 개념

개발참치 2021. 7. 13.

개발자가 자주 겪는 문제 상황 중 하나는 통합과 배포 과정에서 생기는 상황이 아닐까 싶습니다.

개발자의 본분은 개발 그 자체에 있지만, 개발이 아닌 애매한 곳에서 참 골치를 아프게 합니다.

그래서!! 나온 개념이 CI, CD라고 할 수 있습니다.

 

CI, CD란

CI, CD는 정확히 세분하자면 3단계로 나눌 수 있습니다.

 

 

CI (Continuous Integration) - 코드를 지속적인 통합 하며 테스트하는 것을 뜻입니다.


CD (Continuous Delivery) - 자동화하여 지속적으로 서비스를 제공하는 것입니다.

 

CD (Continuous Deployment) - 지속적으로 배포하는 것을 뜻합니다.

 

 

CI, CD 모두 무중단으로 지속적이고 안정감있는 운영을 위한 기능이라 보시면 되겠습니다.

 

 

CI, CD 그림
CI, CD 표식도

CI (Continuous Integration)

지속적으로 코드를 통합하며 품지을 유지하는 것이 목적입니다.

자주 발생하는 코드의 충돌 문제를 방지할 수 있으며, 발생을 하더라도 빠르게 파악 - 수정이 가능합니다.

 

CD (Continuous Delivery)

CI의 유효한 코드를 지속적으로 빌드 및 테스트를 진행하며, 자동으로 서버에 릴리스하는 것이 목적입니다.

운영(Infra) 팀이 존재한다면, 실시간으로 제공해줄 수 있으므로 협업에 유리합니다.

 

CD (Continuous Deployment)

마지막으로, 공유 Git 같은 리포지토리에 자동으로 릴리스하는 확장의 목적입니다.

위 Continuous Delivery와 함께 하나로 묶이는 경우가 많습니다.

 

 

대표적인 CI / CD 툴

무료이고 대중적으로 사용되는 Jenkins, 손쉽고 직관적인 UI를 가진 Bamboo, Gitlab 등이 있습니다.

댓글