3장. Jenkins에서 OpenShift Pipelines 또는 Tekton으로 마이그레이션
Tekton 프로젝트를 기반으로 하는 클라우드 네이티브 CI/CD 환경인 Jenkins에서 Red Hat OpenShift Pipelines 로 CI/CD 워크플로를 마이그레이션할 수 있습니다.
3.1. Jenkins 및 OpenShift Pipelines 개념 비교
Jenkins 및 OpenShift Pipelines에서 사용되는 다음과 동등한 용어를 검토하고 비교할 수 있습니다.
3.1.1. Jenkins 용어
Jenkins는 공유 라이브러리 및 플러그인을 사용하여 확장할 수 있는 선언적 및 스크립팅된 파이프라인을 제공합니다. Jenkins의 몇 가지 기본 용어는 다음과 같습니다.
- pipeline: Groovy 구문을 사용하여 애플리케이션을 빌드, 테스트 및 배포하는 전체 프로세스를 자동화합니다.
- Node: 스크립팅된 파이프라인을 오케스트레이션하거나 실행할 수 있는 시스템입니다.
- Stage: 파이프라인에서 수행되는 작업의 개념적으로 구별되는 하위 집합입니다. 플러그인 또는 사용자 인터페이스는 종종 이 블록을 사용하여 작업의 상태 또는 진행 상황을 표시합니다.
- Step: 명령 또는 스크립트를 사용하여 수행할 정확한 작업을 지정하는 단일 작업입니다.
3.1.2. OpenShift Pipelines 용어
OpenShift Pipelines는 선언적 파이프라인에 YAML 구문을 사용하고 작업으로 구성됩니다. OpenShift Pipelines의 몇 가지 기본 용어는 다음과 같습니다.
- Pipeline: 일련의 직렬, 병렬 또는 둘 다에 있는 작업 세트입니다.
- Task: 명령, 바이너리 또는 스크립트로 구성된 일련의 단계입니다.
- PipelineRun: 하나 이상의 작업이 있는 파이프라인 실행입니다.
TaskRun: 하나 이상의 단계로 작업을 실행합니다.
참고매개변수 및 작업 영역과 같은 입력 세트로 PipelineRun 또는 TaskRun을 시작하고 실행 결과 출력 및 아티팩트 세트가 생성됩니다.
Workspace: OpenShift Pipelines에서 작업 공간은 다음과 같은 목적을 제공하는 개념적 블록입니다.
- 입력, 출력 및 빌드 아티팩트의 저장.
- 작업 간에 데이터를 공유하는 공용 공간.
- 시크릿에 보유된 인증 정보, 구성 맵에 저장된 구성 및 조직에서 공유하는 공통 툴의 마운트 지점.
참고Jenkins에는 OpenShift Pipelines 작업 공간에 직접적으로 동일한 작업 공간이 없습니다. 복제된 코드 리포지토리를 저장하고 기록 및 아티팩트를 빌드하므로 컨트롤 노드를 작업 영역으로 간주할 수 있습니다. 작업이 다른 노드에 할당되면 복제된 코드와 생성된 아티팩트가 해당 노드에 저장되지만 제어 노드는 빌드 내역을 유지합니다.
3.1.3. 개념 매핑
Jenkins 및 OpenShift Pipelines의 구성 요소는 동일하지 않으며 특정 비교에서는 기술적으로 정확한 매핑을 제공하지 않습니다. Jenkins 및 OpenShift Pipelines의 다음 용어 및 개념은 일반적으로 상관 관계가 있습니다.
Jenkins | OpenShift Pipelines |
---|---|
Pipeline | Pipeline 및 PipelineRun |
Stage | Task |
Step | 작업의 단계 |