1.2. 코드 개념으로 파이프라인
코드가 Git 리포지토리 공급자와 상호 작용하는 파이프라인입니다. Pipeline을 코드로 사용하려면 먼저 이 통합을 구성해야 합니다.
Git 리포지토리 공급자 내의 리포지토리 수와 함께 Pipeline을 코드로 사용할 수 있습니다. 각 리포지토리에 대해 제어하는 OpenShift Container Platform 네임스페이스에 리포지토리
CR(사용자 정의 리소스)을 생성해야 합니다. 이 CR에는 코드로서 Pipeline이 이 리포지토리에 액세스하는 데 사용할 수 있는 정보가 포함되어 있습니다.
코드로서 파이프라인은 이 리포지토리의 리포지토리 CR이 있는 네임스페이스 내에서 리포지토리에 대해 파이프라인 실행을 시작합니다.
Git 리포지토리 내부에서 .tekton
디렉터리를 생성하고 파이프라인 실행 정의를 이 디렉터리의 YAML 파일로 저장해야 합니다. 정의한 각 파이프라인 실행에는 이 파이프라인 실행을 트리거해야 하는 이벤트를 결정하는 주석이 포함되어야 합니다.
정의는 동일한 디렉터리의 다른 YAML 파일을 참조할 수 있습니다. 예를 들어 별도의 YAML 파일에 파이프라인을 정의하고 파이프라인 실행 파일에서 이 파이프라인을 참조할 수 있습니다. 파이프라인 실행 정의의 주석을 사용하여 Tekton Hub, HTTP 위치 및 디렉터리의 다른 경로에서 작업 및 파이프라인 리소스를 참조할 수도 있습니다. 정의에서 특수 변수를 사용하여 분기 이름과 같은 실행 컨텍스트를 참조할 수 있습니다.
일치하는 이벤트가 발생하면 Code로 Pipeline은 리포지토리에서 제공한 정의에 따라 PipelineRun
CR을 생성합니다. PipelineRun
CR을 생성하면 파이프라인 실행에 정의된 파이프라인의 실행이 트리거됩니다.
코드로서의 파이프라인은 Pipeline을 코드 확인 기로 사용하여 정의에 따라 PipelineRun
CR을 생성합니다. 코드 확인자인 Pipeline은 주석을 사용하여 참조한 모든 리소스를 검색하고 PipelineRun
CR에 추가합니다. 코드 확인자로서의 파이프라인이 참조된 리소스를 검색하지 못하면 Pipeline은 오류를 기록하고 파이프라인 실행을 생성하지 않습니다.
코드로서의 파이프라인은 파이프라인 실행 정의의 동적 변수를 해당 값으로 대체합니다.
기본적으로 가져오기 요청 또는 푸시 이벤트에 대한 PipelineRun
CR을 생성할 때 Code로서의 Pipeline은 가져오기 요청 또는 푸시 이벤트의 소스 분기의 .tekton
디렉터리의 정의를 사용합니다. 가져오기 요청 또는 푸시 이벤트가 .tekton
디렉터리를 수정하는 경우 Code로 Pipeline은 수정된 버전을 사용합니다.
리포지토리
CR에서 pipelinerun_provenance: "default_branch"
설정을 정의하여 이 동작을 변경할 수 있습니다. 이 설정을 지정하면 Pipeline은 항상 기본 ,master
또는 trunk
와 같은 Git 리포지토리 공급자에 구성된 기본 분기의 .tekton
디렉터리의 정의를 사용합니다.