- CI/CD 파이프라인은 새 버전의 소프트웨어를 제공하기 위해 수행해야할 일련의 단계이다.
지속적 통합/지속적 배포(CI/CD)
파이프라인은 DevOps또는 사이트 신뢰성 엔지니어(SRE) 방식을 통해 더 효과적으로 소프트웨어를 제공하는데 초점을 맞춘 방법이다.- CI/CD 파이프라인은 특히 통합 및 테스트 단계와 제공 및 배포 단계에서 모니터링 및 자동화를 도입하여 애플리케이션 개발 프로세스를 개선합니다.
- CI/CD 파이프라인의 각 단계는 수동으로 실행할 수도 있지만, 진가는 자동화할 때 드러납니다.
CI/CD 파이프라인의 단계는 각기 다른 태스크 하위 집합으로 이루어져 있고, 이를 파이프 라인 단계라고 부릅니다. 일반적인 파이프라인 단계는 다음과 같습니다.
- 빌드(build) : 에플리케이션을 컴파일하는 단계
- 테스트(Test) : 코드를 테스트하는 단계. 이 단계를 자동화하여 시간과 수고를 줄일 수 있습니다.
- 릴리스(Release) : 애플리케이션을 리포지토리에 제공하는 단계
- 배포(Deploy) : 코드를 프로덕션에 배포하는 단계
- 검증 및 컴플라이언스(Validation & compliance) : 빌드 검증 단계는 해당 조직으 ㅣ필요에 따라 결정됩니다. Clair와 같은 이미지 스캔 툴을 사용하여 알려진 취약점과 비교하는 방법으로 이미지의 품질을 보장할 수 있습니다.
여기에 나오지 않은 파이프라인 단계도 있습니다. 이 목록은 흔히 볼 수 있는 단계의 예일 뿐입니다. 조직의 필요에 따라 고유한 파이프라인을 구성하면 됩니다.
전통적인 CI/CD 시스템은 가상 머신을 사용하는 파이프라인을 위해 설계되었지만, 클라우드 네이티브 애플리케이션 개발은 CI/CD 파이프라인에 여러모로 유익합니다.
오픈소스 Tekton project를 통해 쿠버네티스 스타일의 제공 파이프라인을 구축하고, 이것으로 마이크로서비스의 라이프사이클 전체를 제어할 수 있습니다. 그러면 중앙에서 CI(continuous integration) 서버, 플러그인, 설정을 유지하고 관리할 필요가 없습니다.
OpenShift Pipelines는 Tekton에 구축된 Red Hat OpenShift 기능 중 하나입니다.
Tekton은 오픈소스 프로젝트로서 클라우드 네이티브 CI/CD 파이프라인을 신속히 생성하기 위한 프레임워크를 제공합니다. Tekton은 ㅍ준 클라우드 네이티브 CI/CD 경험과 컨테이너를 제공하는 쿠버네티스 플랫폼을 위한 CI/CD 프레임 워크입니다. 쿠버네티스 네이티브 프레임워크인 Tekton을 사용하면 여러 클라우드 제공업체 또는 하이브리드 환경에 더 수월하게 배포할 수 있습니다. Tekton은 CRD(Custom Resource Definition)를 활용하여 쿠버네티스 제어판에서 파이프라인 태스크를 실행합니다. 또한 Tekton은 표준 업계 사양을 준수하므로 Jenkins, Jenkins X, Skaffold, Knative와 같은 기존 CI/CD 툴과 효과적으로 연동됩니다.