2장. 빌드 전략 구성
BuildStrategy
또는 ClusterBuildStrategy
CR(사용자 정의 리소스)에서는 전략 매개변수, 시스템 매개변수, 단계 리소스 정의, 주석 및 볼륨을 정의하여 빌드 전략을 구성할 수 있습니다. BuildStrategy
리소스는 네임스페이스 내에서 사용할 수 있으며 ClusterBuildStrategy
리소스는 클러스터 전체에서 사용할 수 있습니다.
빌드 전략을 구성하려면 BuildStrategy
또는 ClusterBuildStrategy
리소스 YAML 파일을 생성하여 OpenShift Container Platform 클러스터에 적용합니다.
2.1. 전략 매개변수 정의
BuildStrategy
또는 ClusterBuildStrategy
CR(사용자 정의 리소스)에서 전략 매개변수를 정의하고 Build 또는
CR에서 해당 매개변수 값을 설정하거나 수정할 수 있습니다. 빌드 전략을 생성할 때 빌드 시 전략 매개변수를 구성하거나 수정할 수도 있습니다.
Build
Run
전략에 대한 매개변수를 정의하기 전에 다음 사항을 고려하십시오.
-
빌드 전략 CR의
spec.parameters
필드에 매개변수 목록을 정의합니다. 각 목록 항목에는 배열 유형에 대한 이름, 설명, 유형 및 선택적 기본값 또는 값이 포함되어 있습니다. 기본값이 설정되지 않은 경우Build
또는BuildRun
CR에 값을 정의해야 합니다. -
빌드 전략의
spec.steps
필드에 문자열 또는 배열 유형의 매개변수를 정의합니다. $(params.your-parameter-name)
구문을 사용하여 문자열 유형의 매개변수를 지정합니다. 전략을 참조하는Build
또는BuildRun
CR에서your-parameter-name
매개변수 값을 설정할 수 있습니다. 요구 사항에 따라 다음 문자열 매개변수를 정의할 수 있습니다.표 2.1. 문자열 매개변수 매개변수 설명 image
이 매개변수를 사용하여
golang:$(params.go-version)
과 같은 사용자 정의 태그를 정의합니다.args
이 매개변수를 사용하여 빌더 명령에 데이터 전달
env
이 매개변수를 사용하여 환경 변수의 값을 제공
$(params.your-array-parameter-name[*])
구문을 사용하여 배열 유형의 매개변수를 지정합니다. 배열을 지정한 후 인수 또는 명령에서 사용할 수 있습니다. 배열의 각 항목에 대해 인수가 설정됩니다. 다음 예제에서는 빌드 전략의spec.steps
필드에서 array 매개변수를 사용합니다.apiVersion: shipwright.io/v1beta1 kind: ClusterBuildStrategy metadata: name: <cluster_build_strategy_name> # ... spec: parameters: - name: tool-args description: Parameters for the tool type: array steps: - name: a-step command: - some-tool args: - --tool-args - $(params.tool-args[*])
-
매개변수 값을 단순한 문자열로 제공하거나 구성 맵 또는 시크릿의 키에 대한 참조로 제공합니다. 매개변수의 경우
명령에
정의된 경우에만 구성 맵 또는 시크릿 값을 사용할 수 있습니다.spec.steps
필드의args
또는env
섹션.