3장. 해결자를 사용하여 원격 파이프라인 및 작업 지정


파이프라인 및 작업은 CI/CD 프로세스에 재사용 가능한 블록입니다. 이전에 개발했거나 다른 사용자가 개발한 파이프라인 또는 작업을 재사용하여 정의를 복사하여 붙여넣을 필요 없이 재사용할 수 있습니다. 이러한 파이프라인 또는 작업은 클러스터의 다른 네임스페이스에서 공용 카탈로그에 이르기까지 여러 유형의 소스에서 사용할 수 있습니다.

파이프라인 실행 리소스에서 기존 소스의 파이프라인을 지정할 수 있습니다. 파이프라인 리소스 또는 작업 실행 리소스에서 기존 소스의 작업을 지정할 수 있습니다.

이러한 경우 Red Hat OpenShift Pipelines 의 해결자는 런타임 시 지정된 소스에서 파이프라인 또는 작업 정의를 검색합니다.

다음 해결자는 Red Hat OpenShift Pipelines의 기본 설치 프로그램에서 사용할 수 있습니다.

hub resolver
Artifact Hub 또는 Tekton Hub에서 사용할 수 있는 Pipelines Catalog에서 작업 또는 파이프라인을 검색합니다.
bundles resolver
OpenShift 컨테이너 리포지토리와 같은 OCI 리포지토리에서 사용할 수 있는 OCI 이미지인 Tekton 번들에서 작업 또는 파이프라인을 검색합니다.
클러스터 확인자
특정 네임스페이스의 동일한 OpenShift Container Platform 클러스터에서 이미 생성된 작업 또는 파이프라인을 검색합니다.
git resolver
Git 리포지토리에서 작업 또는 파이프라인 바인딩을 검색합니다. 리포지토리, 분기 및 경로를 지정해야 합니다.

OpenShift Pipelines 설치에는 파이프라인에서 사용할 수 있는 표준 작업 세트가 포함되어 있습니다. 이러한 작업은 일반적으로 openshift-pipelines 네임스페이스인 OpenShift Pipelines 설치 네임스페이스에 있습니다. 클러스터 확인자를 사용하여 작업에 액세스할 수 있습니다.

3.1. Tekton 카탈로그에서 원격 파이프라인 또는 작업 지정

hub resolver를 사용하여 Artifact Hub 의 공용 Tekton 카탈로그 또는 Tekton Hub 인스턴스에 정의된 원격 파이프라인 또는 작업을 지정할 수 있습니다.

중요

Artifact Hub 프로젝트는 Red Hat OpenShift Pipelines에서 지원되지 않습니다. Artifact Hub의 구성만 지원됩니다.

3.1.1. hub resolver 구성

hub resolver를 구성하여 리소스 가져오기에 대한 기본 허브와 기본 카탈로그 설정을 변경할 수 있습니다.

프로세스

  1. TektonConfig 사용자 지정 리소스를 편집하려면 다음 명령을 입력합니다.

    $ oc edit TektonConfig config
  2. TektonConfig 사용자 정의 리소스에서 pipeline.hub-resolver-config 사양을 편집합니다.

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      pipeline:
        hub-resolver-config:
          default-tekton-hub-catalog: Tekton 1
          default-artifact-hub-task-catalog: tekton-catalog-tasks 2
          default-artifact-hub-pipeline-catalog: tekton-catalog-pipelines 3
          defailt-kind: pipeline 4
          default-type: tekton 5
          tekton-hub-api: "https://my-custom-tekton-hub.example.com" 6
          artifact-hub-api: "https://my-custom-artifact-hub.example.com" 7
    1
    리소스를 가져오는 기본 Tekton Hub 카탈로그입니다.
    2
    작업 리소스를 가져오는 기본 Artifact Hub 카탈로그입니다.
    3
    파이프라인 리소스를 가져오는 기본 Artifact Hub 카탈로그입니다.
    4
    참조의 기본 오브젝트 종류입니다.
    5
    Artifact Hub의 아티팩트 또는 Tekton Hub의 경우 tekton 중 하나로 리소스를 가져오는 기본 허브입니다.
    6
    default-type 옵션이 tekton 로 설정된 경우 사용되는 Tekton Hub API입니다.
    7
    선택 사항: default-type 옵션이 artifact 로 설정된 경우 사용되는 Artifact Hub API입니다.
    중요

    default-type 옵션을 tekton 로 설정하는 경우 tekton -hub-api 값을 설정하여 Tekton Hub의 고유 인스턴스를 구성해야 합니다.

    default-type 옵션을 artifact 로 설정하면 확인자는 기본적으로 https://artifacthub.io/ 에서 공용 허브 API를 사용합니다. artifact-hub-api 값을 설정하여 고유한 Artifact Hub API를 구성할 수 있습니다.

3.1.2. hub resolver를 사용하여 원격 파이프라인 또는 작업 지정

파이프라인 실행을 생성할 때 Artifact Hub 또는 Tekton Hub에서 원격 파이프라인을 지정할 수 있습니다. 파이프라인 또는 작업 실행을 생성할 때 Artifact Hub 또는 Tekton Hub에서 원격 작업을 지정할 수 있습니다.

프로세스

  • Artifact Hub 또는 Tekton Hub에서 원격 파이프라인 또는 작업을 지정하려면 pipelineRef 또는 taskRef 사양에 다음 참조 형식을 사용합니다.

    # ...
      resolver: hub
      params:
      - name: catalog
        value: <catalog>
      - name: type
        value: <catalog_type>
      - name: kind
        value: [pipeline|task]
      - name: name
        value: <resource_name>
      - name: version
        value: <resource_version>
    # ...
    표 3.1. hub resolver에 대해 지원되는 매개변수
    매개변수설명예시 값

    catalog

    리소스를 가져올 카탈로그입니다.

    기본값: tekton-catalog-tasks ( 작업 종류용), tekton-catalog- pipeline s (파이너 종류용).

    type

    리소스를 가져오는 카탈로그 유형입니다. Artifact Hub의 아티팩트 또는 Tekton Hub의 tekton 중 하나입니다.

    기본값: artifact

    kind

    작업 또는 파이프라인 중 하나입니다.

    기본값: task

    name

    허브에서 가져올 작업 또는 파이프라인의 이름입니다.

    golang-build

    version

    허브에서 가져올 작업 또는 파이프라인 버전입니다. 숫자 주위에 따옴표(')를 사용해야 합니다.

    "0.5.0"

    파이프라인 또는 작업에 추가 매개변수가 필요한 경우 파이프라인, 파이프라인 실행 또는 작업 실행 사양의 params 섹션에 이러한 매개변수 값을 지정합니다. pipelineRef 또는 taskRef 사양의 params 섹션에는 해결자가 지원하는 매개변수만 포함되어야 합니다.

다음 예제 파이프라인 실행은 카탈로그의 원격 파이프라인을 참조합니다.

apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  name: hub-pipeline-reference-demo
spec:
  pipelineRef:
    resolver: hub
    params:
    - name: catalog
      value: tekton-catalog-pipelines
    - name: type
      value: artifact
    - name: kind
      value: pipeline
    - name: name
      value: example-pipeline
    - name: version
      value: "0.1"
  params:
  - name: sample-pipeline-parameter
    value: test

카탈로그의 원격 작업을 참조하는 다음 예제 파이프라인입니다.

apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: pipeline-with-cluster-task-reference-demo
spec:
  tasks:
  - name: "cluster-task-reference-demo"
    taskRef:
      resolver: hub
      params:
      - name: catalog
        value: tekton-catalog-tasks
      - name: type
        value: artifact
      - name: kind
        value: task
      - name: name
        value: example-task
      - name: version
        value: "0.6"
    params:
    - name: sample-task-parameter
      value: test

카탈로그의 원격 작업을 참조하는 다음 예제 작업 실행

apiVersion: tekton.dev/v1
kind: TaskRun
metadata:
  name: cluster-task-reference-demo
spec:
  taskRef:
    resolver: hub
    params:
    - name: catalog
      value: tekton-catalog-tasks
    - name: type
      value: artifact
    - name: kind
      value: task
    - name: name
      value: example-task
    - name: version
      value: "0.6"
  params:
  - name: sample-task-parameter
    value: test
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.