CI/CD 파이프라인이란?

URL 복사

지속적 통합 및 지속적 배포(CI/CD) 파이프라인은 개발자가 새로운 버전의 소프트웨어를 제공하기 위해 따라야 하는 일련의 확립된 단계입니다. CI/CD 파이프라인은 자동화를 통해 소프트웨어 개발 라이프사이클 전반에서 소프트웨어 제공을 개선하는 데 중점을 두는 사례입니다.

소프트웨어 개발 라이프사이클의 개발, 테스트, 프로덕션, 모니터링 단계 전반에서 CI/CD를 자동화하는 팀은 고품질 코드를 더 빠르고 더 안전하게 개발할 수 있습니다. 테스트를 자동화하면 종속성과 기타 문제를 소프트웨어 개발 라이프사이클의 초반에 식별할 수 있으므로 후반에 시간을 절약할 수도 있습니다. CI/CD 파이프라인의 각 단계를 수동으로 실행할 수도 있지만, CI/CD 파이프라인의 진가는 자동화할 때 드러납니다.

CI/CD 파이프라인은 가상 머신과 컨테이너 기반 클라우드 네이티브 애플리케이션을 사용하는 소프트웨어 조직에 여러모로 유용합니다. 코드 업데이트와 변경 사항을 더 신속하게 통합할 수 있으므로 팀은 사용자 피드백과 비즈니스 변경 사항에 자주 효과적으로 대응하여 최종 사용자에게 긍정적인 결과를 가져다줄 수 있습니다. 

소프트웨어 개발을 간소화하고 가속화하는 CI/CD 파이프라인은 개발자와 IT 운영 팀 간 협업을 촉진하는 일련의 아이디어 및 사례인 DevOps 방법론을 반영한 것입니다.

CI/CD 중 CI는 지속적 통합(continuous integration)을 말하며, 여기에는 코드의 구축, 테스트, 병합이 포함됩니다. 그리고 지속적 제공(continuous delivery)을 의미하는 CD는 소프트웨어를 리포지토리에 자동으로 릴리스하는 작업을 포함합니다. CD가 지속적 배포(continuous deployment)를 가리킬 수도 있습니다. 이 경우 소프트웨어를 프로덕션으로 자동으로 배포하는 단계가 추가됩니다.

CI/CD 파이프라인은 코드의 구축, 테스트 및 배포 경로를 통해 소프트웨어를 개발하는 프로세스를 안내합니다. CI/CD를 지원하는 프로세스를 자동화함으로써 개발 팀과 운영 팀은 인적 오류를 최소화하고 소프트웨어 출시 방식에 일관된 프로세스를 유지할 수 있습니다. 파이프라인에는 코드 컴파일링, 유닛 테스트, 코드 분석, 보안, 바이너리 생성 등을 위한 툴이 포함될 수 있습니다. 컨테이너화된 환경에서는 하이브리드 클라우드 전반에 배포할 컨테이너 이미지에 코드를 패키징하기 위한 툴도 파이프라인에 포함됩니다.

CI/CD와 DevOps는 모두 코드 통합 프로세스를 자동화하는 데 중점을 둡니다. 따라서 아이디어(예: 새 기능, 개선 사항 요청, 버그 수정)가 개발 단계에서 프로덕션 환경의 배포 단계로 이동하는 과정이 가속화되어 사용자에게 그 가치를 더 빠르게 제공할 수 있습니다. 일반적으로 표준 개발 환경에서 코딩 작업을 하는 개발자는 IT 운영 팀과 긴밀하게 협력하여 안정성을 저해하지 않고 소프트웨어 빌드, 테스트, 출시 속도를 가속화합니다.

Red Hat 리소스

Tekton은 클라우드 네이티브 CI/CD 파이프라인을 신속히 생성하기 위한 Knative 기반 프레임워크입니다. 쿠버네티스 네이티브 프레임워크인 Tekton을 사용하면 여러 클라우드 공급업체 또는 하이브리드 환경에 더 수월하게 배포할 수 있습니다.

또한 쿠버네티스에서 사용자 정의 리소스 정의(CRD)를 사용함으로써 여러 파이프라인에서 구성 요소를 재사용할 수 있습니다. Tekton은 쿠버네티스 컨트롤 플레인을 사용하여 파이프라인 태스크를 실행합니다. Tekton은 표준 업계 사양을 준수하므로 Knative, OpenShift와 같은 기존 CI/CD 툴과 효과적으로 연동합니다.

Tekton 프로젝트를 사용하면 중앙 팀을 통해 지속적 통합 서버, 플러그인, 구성을 유지하고 관리할 필요 없이 마이크로서비스의 라이프사이클 전체를 관리할 수 있는 쿠버네티스 스타일의 제공 파이프라인을 구축할 수 있습니다.

블로그: Tekton과 Jenkins 비교: CI/CD 파이프라인에는 무엇이 더 적합한가?

개발 및 배포 프로세스가 빠르기만 하고 보안은 취약하다면 조직이 위험에 처할 수 있습니다. 일반적인 위험으로는 민감한 데이터를 외부 소스에 노출시키거나, 안전하지 않은 코드나 타사 구성 요소를 통합하거나, 소스 코드 리포지토리나 빌드 툴을 무단 액세스에 노출시키는 것 등이 있습니다.

CI/CD 파이프라인 내 자동화된 점검과 테스트는 코드를 보호하고 소프트웨어 제공 시 취약점을 방지할 수 있습니다. 보안을 파이프라인에 통합하면 코드를 공격으로부터 보호하고, 데이터 유출을 방지하며, 정책을 준수하고, 품질 보증을 보장하는 데 도움이 됩니다. 개발 주기 전반에서 취약점을 식별하고 완화하면 코드 변경 사항이 프로덕션에 배포되기 전에 철저한 테스트를 거쳐 보안 표준을 준수하도록 보장할 수 있습니다.

CI/CD 보안에 대해 자세히 알아보기

Red Hat® OpenShift® Pipelines는 Tekton을 기반으로 하는 쿠버네티스 네이티브 CI/CD 솔루션으로, OpenShift 및 Red Hat 개발자 툴과의 긴밀한 통합을 제공합니다. 관리자와 개발자는 조직의 고유한 비즈니스 및 보안 요구 사항에 따라 애플리케이션에 대한 파이프라인 청사진을 만들 수 있습니다.

OpenShift Pipelines는 파이프라인의 각 단계를 자체 컨테이너에서 실행하도록 설계되었습니다. 따라서 각 단계를 파이프라인의 요구에 맞게 독립적으로 확장할 수 있습니다.

OpenShift 서브스크립션을 통해 제공되는 OpenShift Pipelines는 OpenShift 콘솔과 기본적으로 통합되므로 개발자가 애플리케이션과 함께 파이프라인을 직접 구성하고 실행할 수 있습니다.

Red Hat OpenShift Pipelines 기능

쿠버네티스 네이티브 파이프라인
표준 Tekton 사용자 정의 리소스 정의(CRD)를 사용하여 컨테이너로 실행되고 온디맨드로 확장되는 파이프라인을 정의합니다.

서버리스 실행
중앙 CI/CD 서버를 관리하지 않고도 팀의 제공 파이프라인, 플러그인, 액세스 제어를 완벽하게 제어합니다.

통합 CI/CD 경험
Pipeline Builder 시각 인터페이스뿐만 아니라 커맨드라인 인터페이스, 통합 개발 환경을 포함한 Red Hat OpenShift 콘솔 개발자 관점을 통해 간소화된 사용자 환경을 제공합니다.
 

Red Hat OpenShift Pipelines 도큐멘테이션 살펴보기

Red Hat 전문가는 조직이 더 효율적으로 기존 애플리케이션을 현대화하고 클라우드 네이티브 애플리케이션 개발 여정을 가속화하는 데 필요한 사례와 툴을 개발하고 문화를 조성하도록 지원합니다.

Red Hat OpenShiftRed Hat OpenShift Pipelines와 더불어 조직이 개발자 생산성을 개선하고, CI/CD 파이프라인을 자동화하며, 개발 주기 초기와 전체에 걸쳐 보안 작업을 전환하는 데 도움이 됩니다.

Red Hat OpenShift GitOps는 Git 리포지토리, 지속적 통합/지속적 제공(CI/CD) 툴, 쿠버네티스를 통합하여 품질 저하 없이 더 빠르고 안전한 확장 가능한 소프트웨어 개발을 실현하기 위한 워크플로우를 제공하는 오퍼레이터입니다. OpenShift GitOps는 고객이 선언적 Git 기반 CD 워크플로우를 구축하여 자체 애플리케이션 개발 플랫폼으로 직접 통합할 수 있도록 지원합니다.

또한 Red Hat 툴을 CI/CD 보안에 사용할 수 있습니다. Red Hat Advanced Cluster Security(ACS) for Kubernetes는 Red Hat OpenShift, Amazon Elastic Kubernetes Service(EKS), Microsoft Azure Kubernetes Service(AKS), Google Kubernetes Engine(GKE) 등 모든 주요 클라우드 및 하이브리드 플랫폼에서 컨테이너화된 쿠버네티스 워크로드를 보호하는 데 도움이 됩니다. Red Hat Trusted Software Supply Chain은 소프트웨어 개발 라이프사이클의 초기와 빌드 및 릴리스 파이프라인에 이르기까지 소프트웨어 구성 요소와 종속성의 보안에 초점을 두고 감사를 통해 보안 문제에 대한 조치를 취할 수 있는 보안 솔루션 제품군을 제공합니다. 이러한 솔루션에는 SBOM(Software Bills of Materials)과 취약점 해결 정보를 관리하는 Red Hat Trusted Profile Analyzer, 그리고 소프트웨어 아티팩트 공급망 수준(Supply-chain Levels for Software Artifacts, SLSA) 레벨 3 빌드 이미지를 생성하기 위해 기본 파이프라인 정의와 자동화된 보안 점검을 제공하는 Red Hat Trusted Application Pipeline이 포함되어 있습니다.

워크플로우를 자동화하도록 돕기 위해 Red Hat Ansible® Automation Platform에는 이벤트 기반 솔루션, 분석, 사전 구축된 콘텐츠 컬렉션 등 전사적으로 자동화를 구현하는 데 필요한 모든 툴이 포함되어 있습니다. 이 플랫폼의 공통된 YAML 기반 언어 및 원하는 상태 접근 방식을 활용하면 일상적인 운영은 물론 CI/CD 파이프라인에도 동일한 오토메이션 콘텐츠를 사용할 수 있습니다. 또한 Red Hat Ansible Automation Platform은 IT 인프라의 거의 모든 측면에서 작동하므로 더욱 간편하고 신속하게 일관된 개발, 테스트, 프로덕션 환경을 배포하여 애플리케이션의 신뢰성과 복구 능력을 높일 수 있습니다.

아울러 Ansible Automation Platform은 Red Hat Advanced Cluster Management for Kubernetes통합되어 CI/CD 파이프라인 내의 쿠버네티스 클러스터를 오케스트레이션할 수 있도록 지원합니다. 그리고 조직은 사람이 읽을 수 있는 자동화 언어를 사용하여 Red Hat OpenShift 오퍼레이터를 더욱 손쉽게 구축하고 유지 관리할 수 있습니다.

자동화로 CI/CD 파이프라인을 지원하는 방법에 대해 자세히 알아보기

허브

레드햇 공식 블로그

레드햇 공식 블로그에서 고객, 파트너, 커뮤니티 에코시스템 등 현재 화제가 되는 최신 정보를 살펴 보세요.

모든 Red Hat 제품 체험판

무료 제품 체험판을 통해 핸즈온 경험을 얻고, 자격증 시험에 대비하거나 해당 제품이 조직에 적합한지 평가할 수 있습니다.

추가 자료

CI/CD: 지속적 통합과 배포의 핵심 개념과 차이점 이해하기

CI/CD(지속적 통합/지속적 배포)는 애플리케이션 개발부터 배포까지 자동화된 프로세스로 효율성을 향상하는 방법입니다. CI/CD의 개념, 주요 툴, 구축 방법을 알아보세요

멀티클라우드 GitOps란?

GitOps는 워크플로우를 유도하고 클라우드 네이티브 애플리케이션에 대한 지속적 배포(CD)를 구현하도록 지원하는 원칙 세트입니다. 이는 이전에 수동으로 이루어지던 프로세스에 자동화를 도입하여 클러스터 구성과 애플리케이션 배포를 관리하는 데 도움을 줍니다.

GitOps 워크플로우란?

GitOps는 Git 리포지토리를 단일 정보 소스로 사용하여 전체 인프라와 애플리케이션 라이프사이클을 관리하는 현대적인 소프트웨어 개발 및 배포 방식입니다.

DevOps 리소스