구조 및 데이터 관리/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 모두 무중단으로 지속적이고 안정감있는 운영을 위한 기능이라 보시면 되겠습니다.

 

 

Devops - CI, CD의 개념 - CI, CD란
CI, CD 그림
Devops - 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 등이 있습니다.

댓글