DevOps Pipeline

페이지 이동경로

DevOps Pipeline

카카오 i 클라우드(Kakao i Cloud)의 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 서비스의 주요 개념은 다음과 같습니다.

DevOps Pipeline 주요 개념

항목 설명
파이프라인 하나의 CI/CD flow
파이프라인 스튜디오 CI/CD를 GUI 환경에서 설정할 수 있도록 제공
태스크 flow를 이루는 하나의 액션 단위
태스크 카테고리 태스크의 종류
- 종류: 소스, 빌드, 배포 등
태스크 타입 태스크 액션을 수행하는 외부 서비스 툴
- 예시: 소스라는 태스크 카테고리 안에는 Github이라는 태스크 타입이 있음

GUI 기반 파이프라인 스튜디오

파이프라인 스튜디오는 CLI로 일일이 환경을 구축하는 것이 아닌, GUI 기반의 스튜디오에서 직관적으로 설정할 수 있습니다. 각 단계의 태스크를 배치해 어떤 단계와 툴, 동작을 수행하는지 명확히 하여 파이프라인의 작업 흐름에 대한 이해를 돕습니다. 파이프라인 설정을 손쉽게 해 줄 뿐만 아니라, 개발자 간의 개발-배포에 이르는 프로세스에 대해 논의와 점진적 개선을 할 수 있습니다.
파이프라인 스튜디오에 대한 자세한 내용은 DevOps Pipeline > 파이프라인 만들기 문서의 파이프라인 만들기를 참고하시기 바랍니다.

파이프라인 생성
현업에서는 비슷한 패턴의 파이프라인을 여러 개 생성하여 실행하게 됩니다. 그 이유는 개발 프로세스나 CI/CD의 환경이 유사하기 때문입니다. 이 점을 고려하여 파이프라인 생성 시 반복 설정을 하지 않도록 편의 기능을 제공하고 있습니다.
파이프라인 생성에 대한 자세한 내용은 파이프라인 만들기 문서의 파이프라인 생성하기를 참고하시기 바랍니다.

스타터
개발자들이 자주 쓰는 파이프라인 패턴을 샘플로 제공합니다. 파이프라인 스튜디오 실행 시 선택하여 사용할 수 있습니다.

템플릿
사용자가 각자 상황에 맞는 파이프라인 패턴을 만들어 템플릿으로 저장할 수 있습니다. 파이프라인 생성 시 템플릿을 불러온 후 추가 편집을 거쳐 파이프라인으로 저장합니다. 템플릿은 실행할 수 없습니다.

임시 저장
사용자가 파이프라인 생성 중 임시 저장을 할 수 있습니다. 임시 저장은 태스크 설정값이 유효하지 않아도 저장할 수 있으며, 언제든지 다시 불러와 파이프라인을 완성할 수 있습니다.

파이프라인 복제
완성된 파이프라인을 복제할 경우, 파이프라인 내 모든 태스크의 설정값이 복제할 수 있어 추가 편집 후 새로운 파이프라인으로 저장할 수 있습니다. 복제된 파이프라인은 원본 파이프라인과 별개의 파이프라인으로 실행 이력이나 실행 로그는 복제되지 않습니다.
파이프라인 복제에 대한 자세한 내용은 파이프라인 관리하기 문서의 파이프라인 복제하기를 참고하시기 바랍니다.

유용한 파이프라인 관리

스케줄 설정
스케줄 설정을 통해 주기적으로 파이프라인을 자동 실행하거나, 직접 수동으로 파이프라인을 실행할 수 있습니다. 이에 따라 파이프라인 실행 이력에서 실행 주체 정보를 확인할 수 있습니다.
스케줄 설정에 대한 자세한 내용은 파이프라인 관리하기 문서의 스케줄 설정하기를 참고하시기 바랍니다.

파이프라인 실행 이력
파이프라인 실행 이력은 파이프라인 스튜디오와 같은 GUI 환경에서 열람할 수 있습니다. 실행 당시 설정된 태스크 노드 간의 관계와 태스크별 로그도 필터링하여 열람할 수 있어, 파이프라인 실행 후 파이프라인 실행 단계와 동작, 성공/실패 여부 등을 직관적으로 쉽게 파악할 수 있습니다. 이를 바탕으로 개발-배포 프로세스를 개선할 수 있습니다.
파이프라인 실행 이력에 대한 자세한 내용은 파이프라인 관리하기 문서의 파이프라인 실행 이력 보기를 참고하시기 바랍니다.

파이프라인 알람
결재 요청, 파이프라인 실행 실패 등 이벤트 발생 시 카카오 i 클라우드 콘솔에 접속하지 않아도 알 수 있도록 알람 기능을 제공합니다. 알람은 프로젝트 멤버라면 누구나 수신받을 수 있으며, 수신 채널인 이메일, 문자, 알림톡을 통해 알람을 제공합니다.
파이프라인 알람 설정에 대한 자세한 내용은 파이프라인 관리하기 문서의 알람 설정하기를 참고하시기 바랍니다.

쉬운 환경 설정

환경설정 내 각 단위에서 설정값을 저장한 후, 파이프라인 스튜디오에서 설정값을 불러와 파이프라인 태스크 설정을 완료할 수 있습니다. 자세한 설명은 외부 서비스 관리하기 문서를 참고하시기 바랍니다.

요금 정책

DevOps Pipeline 서비스에서 매달 1개의 파이프라인을 무료로 실행할 수 있습니다. 2개 이상의 파이프라인 실행 시 요금이 발생합니다. 과금 시 2번째 파이프라인부터 부과되며, 파이프라인 1개당 1,000원입니다. 요금은 실행 시간이나 횟수, 파이프라인 사이즈와 무관합니다.

상황에 따른 요금 예시

예시
8월 1일에 고객이 파이프라인 2개를 생성하고, 8월 31일까지 1개만 사용(실행)한 경우
→ 2개 중 1개의 파이프라인은 생성만 되고 실행 이력이 없기 때문에 과금 대상이 없음
8월 1일에 고객이 파이프라인 3개를 생성해 8월 31일까지 사용(실행)하고, 9월 1일부터 9월 30일까지 1개만 사용(실행)한 경우
→ 8월은 2개의 파이프라인이 과금 대상이며, 9월은 과금 대상이 없음
8월 1일에 고객이 파이프라인 10개를 생성한 훈, 9월 30일까지 아무것도 사용(실행)하지 않은 경우
→ 파이프라인을 생성만 했기 때문에 8월과 9월 모두 과금 대상이 없음

사용 가이드

안내
카카오 i 클라우드의 DevOps Pipeline 서비스에 대한 자세한 사용 가이드는 DevOps Pipeline > How-to Guides를 참고하시기 바랍니다.

DevOps Pipeline 사용 가이드

문서 설명
파이프라인 만들기 파이프라인을 생성하는 방법을 설명합니다.
파이프라인 관리하기 파이프라인을 관리하는 방법을 설명합니다.
크리덴셜 관리하기 크리덴셜 생성 및 관리하는 방법을 설명합니다.
외부 서비스 관리하기 외부 서비스 생성 및 관리하는 방법을 설명합니다.
타겟 서버 관리하기 타겟 서버 생성 및 관리하는 방법을 설명합니다.
태스크 이미지 관리하기 태스크 이미지 생성 및 관리하는 방법을 설명합니다.
결재선 관리하기 결재선 생성 및 관리하는 방법을 설명합니다.