주요 개념
카카오클라우드의 DevOps Pipeline은 개발자가 제공하는 서비스를 관리 및 개발하고, 이를 최종 사용자에게 배포하는 과정을 돕습니다. 이는 지속적인 통합과 지속적 배포 과정으로, 지속적인 통합을 CI(Continuous Integration), 지속적 배포 과정을 CD(Continuous Delivery 또는 Continuous Deployment)라고 합니다.
용어 정리
CI
CI(Continuous Integration) 는 지속적인 제공 또는 배포로, 개발 코드들이 자동으로 소스 저장소로부터 빌드되어 리포지토리(Repository)에 통합되는 것을 의미합니다.
협업 시 여러 개발자가 서비스 개발 코드를 관리하는 경우가 많은데, CI 프로세스를 구축할 경우 작은 단위로 자주 코드를 머지(Merge)합니다. 이로써 코드의 결함이나 문제에 빠르게 대응하거나, 여러 개발자 간의 코드 머지 시 충돌이 나는 문제 또한 쉽게 해결할 수 있습니다. 또한, 코드의 품질을 향상할 수 있습니다.
CD
CD(Continuous Delivery/Continuous Deployment) 는 지속적인 제공과 배포로, 최종 서비스를 사용자에게 전달하는 주체나 동작이 자동으로 발생(Continuous Deployment)하는지, 또는 개발 관리자의 승인 및 배포 행위(Continuous Delivery)를 통해 일어나는지에 따라 구분됩니다. 그러나 배포 또는 제공이라는 행위 자체가 결국 최종 사용자에게 제공되는 것이 중요하기에 크게 두 용어를 구분하지 않습니다.
CD의 장점은 최종 사용자에게 빠르게 서비스를 제공하고, 빠른 피드백을 받을 수 있다는 점입니다. 짧은 시간과 세분된 단위의 주기적인 배포 과정에서 최종 사용자뿐만 아니라 각 파트의 업무 관련자의 피드백을 받습니다. 이는 서비스를 지속적으로 개선하는 데 도움이 됩니다.
DevOps Pipeline은 개발 관리자의 승인 절차를 위해 ‘결재 태스크'를 제공합니다. 파이프라인은 태스크의 연결로 구성되어 있으며, 순차적으로 태스크를 실행합니다. 결재 태스크 순서가 도래하면 결재 대상자들에게 결재를 진행하게 됩니다.
주요 개념
DevOps Pipeline은 CI와 CD 모두 설정할 수 있는 All-in-One 서비스를 제공합니다. 파이프라인 스튜디오를 통해 파이프라인 생성, 파이프라인 실행 결과 열람, 파이프라인 실행 스케줄링 등을 수행할 수 있습니다.
DevOps Pipeline 서비스의 주요 개념은 다음과 같습니다.
주요 개념 | 설명 |
---|---|
파이프라인 | 하나의 CI/CD flow |
파이프라인 스튜디오 | CI/CD를 GUI 환경에서 설정할 수 있도록 제공 |
태스크 | flow를 이루는 하나의 액션 단위 |
태스크 카테고리 | 태스크의 종류 - 종류: 소스, 빌드, 배포 등 |
태스크 유형 | 태스크 액션을 수행하는 외부 서비스 툴 - 예시: 소스라는 태스크 카테고리 안에는 Github이라는 태스크 유형이 있음 |