참조 : https://tekton.dev/docs/pipelines/tasks/#specifying-parameters
넘겨줄 파라미터 정의는 아래와 같이 하위 단계 설정 부분에 해야 한다 ( pipelinerun은 spec 부분, pipeline은 tasks 부분, taskrun은 spec 부분 ). 파라미터 이름 ( name ) 과 값 ( value ) 로 이루어진다
- Pipeline의 경우, task 하위에 정의한다
- 파라미터의 값을 사용하여 상위 단게에서 넘겨 받은 파리미터를 하위 단계에 넘겨 줄 수 있다
- PipelineRun의 경우, spec 하위에 정의한다
파라미터 정의는 task에서는 불가능하다. task는 매개변수를 넘겨받기만 가능하기에 value 를 사용하지 못한다
- 위와 같이 spec 하위의 params에 정의하면 된다
params:
- name:
type:
description:
default:
다음 요소들을 정의해야 한다
- name : 넘겨 받을 파라미터의 이름 ( 필수 )
- type : 넘겨 받을 파라미터의 Type ( 필수 아님 )
- default : 넘겨 받는 값이 없을 때, 해당 파라미터의 기본 값 ( 필수 아님 )
- description : 파라미터 설명 ( 필수 아님 )
default를 사용하면, 넘겨 받는 파라미터 외에 스스로 사용할 파라미터를 정의할 수 있다
- 위와 같이 이름과 기본 값만으로 지정하면, 해당 파리미터를 설정한 기본 값으로 사용할 수 있다
- 만약 default를 설정하지 않고 파라미터를 넘겨주지 않았을 때, 위와 같이 오류가 발생하므로 default를 설정해주는 것이 좋다
- $(변수종류.변수이름) 으로 사용된다
$(params.파라미터이름)
- 파라미터를 사용할 경우, 위와 같이 $(params.파라미터이름)을 통해 파라미터의 value를 가져올 수 있다
- 위와 같이 넘겨 받은 파라미터를 사용하여, 하위 단계에 넘겨줄 수 있다
구분 | string | object | array |
---|---|---|---|
개념 | type의 기본 값으로, 하나의 key-value 파라미터를 가진다 | 여러 종류의 파라미터의 묶음 | 파라미터의 배열 |
type 선언 | type: string | type: object , properties에 파라미터 name과 type을 각각 정의 | type : array |
사용 | “$(params.변수이름)” | “$(params.매개변수그룹이름.매개변수이름)” | “$(params.배열[ ])” |
# string
params:
- name: 이름
value: 값
# object
params:
- name: 이름
value:
key1: value1
key2: value2
# array
params:
- name: 이름
value:
- 'asd'
- 'adasdasd'
- 'asfafasfaf2f2'
- Tekton에서 파라미터 Type은 3 가지가 존재하며, String / Object / Array로 구성된다
params:
- name: 이름
value: 값
- 넘겨줄 파라미터 정의에서 위와 같이 파라미터 name과 value를 정의하면 된다
params:
- name: 이름
type: string
- 넘겨 받을 파라미터 정의애서 위와 같이 type을 String으로 정의한다
“$(params.파라미터이름)”
- String 파라미터를 사용할 경우, 위와 같이 파라미터 이름을 지정하면 된다
# object
params:
- name: 이름
value:
key1: value1
key2: value2
- 넘겨줄 파라미터 정의에서 위와 같이 파라미터 묶음 name과 포함될 파리미터들을 정의하면 된다
params:
- name: 이름
properties:
key1:
type: string
key2:
type: string
- 넘겨 받을 파리미터 정의에서 위와 같이 properties에 파라미터 묶음에 포함된 파리미터들을 각각 정의해야 한다
"$(params.파라미터묶음이름.파라미터이름)"
- 사용 시, 파라미터 묶음 이름과 묶음 내부의 파리미터 이름을 지정하면 된다
- enable-api-fields은 Tekton Pipeline Controller 설정 중 하나이다. 해당 설정을 변경하여 사용 가능한 기능을 지정할 수 있다
params:
- name: 이름
value:
- 'asd'
- 'adasdasd'
- 'asfafasfaf2f2'
- 넘겨줄 파라미터 정의에서 위와 같이 다수의 값을 value에 정의하면 된다
params;
- name: 이름
type: array
- 넘겨 받을 파라미터 정의에서 위와 같이 Type을 array로 지정하면 된다
“$(params.배열이름[*])”
- 사용 시, 배열처럼 사용하면 된다