4.5. 사용자 정의 매개변수 확장
Pipeline을 코드로 사용하여 params
필드를 사용하여 PipelineRun
리소스 내에서 사용자 정의 매개변수를 확장할 수 있습니다. Repository
CR(사용자 정의 리소스) 템플릿 내에 사용자 정의 매개변수 값을 지정할 수 있습니다. 지정된 값은 파이프라인 실행의 사용자 정의 매개변수를 대체합니다.
다음 시나리오에서는 사용자 지정 매개변수를 사용할 수 있습니다.
- 푸시 또는 가져오기 요청에 따라 다른 레지스트리 URL과 같은 URL 매개변수를 정의하려면 다음을 수행합니다.
-
관리자가 Git 리포지토리에서
PipelineRun
실행을 변경하지 않고도 관리할 수 있는 계정 UUID와 같은 매개변수를 정의하려면 다음을 수행합니다.
Tekton 매개변수가 Pipeline
리소스에 정의되어 Git 리포지토리 내에서 함께 사용자 정의되므로 Tekton PipelineRun
매개변수를 사용할 수 없는 경우에만 사용자 정의 매개변수 확장 기능을 사용합니다. 그러나 사용자 지정 매개변수는 Repository
CR이 있는 경우 정의 및 사용자 지정됩니다. 따라서 단일 지점에서 CI/CD 파이프라인을 관리할 수 없습니다.
다음 예제에서는 Repository
CR에서 company
라는 사용자 정의 매개변수를 보여줍니다.
value Cryo stat Company
는 파이프라인 실행 및 원격으로 가져온 작업에서 매개 변수 이름 회사로
대체됩니다.
다음 예와 같이 Kubernetes 시크릿에서 사용자 정의 매개변수 값을 검색할 수도 있습니다.
코드화로 파이프라인은 다음과 같은 방식으로 사용자 지정 매개변수를 구문 분석하고 사용합니다.
-
값
과secret_ref
가 정의된 경우 코드로 Pipeline은값을
사용합니다. -
params
섹션에이름이
없는 경우 Code로 Pipeline이 매개변수를 구문 분석하지 않습니다. -
이름이
붙은매개변수가
여러 개 있는 경우 Code와 Pipelines는 마지막 매개변수를 사용합니다.
사용자 지정 매개변수를 정의하고 지정된 조건이 CEL 필터에 일치하는 경우에만 확장을 사용할 수 있습니다. 다음 예제에서는 pull request 이벤트가 트리거될 때 company
라는 사용자 지정 매개변수에 적용 가능한 CEL 필터를 보여줍니다.
이름과 다른 필터가 여러 개 있는 경우 Code와 Pipeline은 필터와 일치하는 첫 번째 매개변수를 사용합니다. 따라서 Pipeline as Code를 사용하면 다양한 이벤트 유형에 따라 매개변수를 확장할 수 있습니다. 예를 들어 push 및 pull request 이벤트를 결합할 수 있습니다.