1.4. 빌드의 매개변수 값 정의
Build
CR에서 빌드 전략 매개변수의 값을 지정할 수 있습니다. 매개변수 값을 지정하면 빌드 전략의 단계가 작동하는 방법을 제어할 수 있습니다. BuildRun
리소스의 값을 덮어쓸 수도 있습니다.
모든 매개변수의 경우 직접 또는 구성 맵 또는 시크릿의 참조 키를 사용하여 값을 지정해야 합니다.
빌드 전략 단계에서 매개변수를 사용하면 구성 맵 및 시크릿 사용이 제한됩니다. 매개변수가 명령, 인수 또는 환경 변수에 사용되는 경우에만 구성 맵과 시크릿을 사용할 수 있습니다.
Build
CR에서 paramValues
필드를 사용하는 경우 다음 시나리오를 사용하지 마십시오.
-
BuildStrategy
CR에 정의된spec.parameters
중 하나와 일치하지 않는spec.paramValues
이름을 지정합니다. -
shipwright 예약된 매개변수와 충돌하는
spec.paramValues
이름을 지정합니다. 이러한 매개변수에는BUILDER_IMAGE
,CONTEXT_DIR
및shp-
로 시작하는 모든 이름이 포함됩니다.
또한 Build
CR에서 paramValues
필드를 정의하기 전에 전략의 내용을 이해해야 합니다.
1.4.1. 매개변수 값을 정의하는 구성 예
다음 예제에서는 빌드 전략에서 매개변수를 정의하고 Build
CR을 사용하여 해당 매개변수에 값을 할당하는 방법을 보여줍니다. Build
CR의 유형 배열
의 매개변수에 값을 할당할 수도 있습니다.
예: ClusterBuildStrategy
CR의 매개변수 정의
다음 예제에서는 여러 매개변수를 정의하는 ClusterBuildStrategy
CR을 보여줍니다.
apiVersion: shipwright.io/v1beta1 kind: ClusterBuildStrategy metadata: name: buildah spec: parameters: - name: build-args description: "The values for the args in the Dockerfile. Values must be in the format KEY=VALUE." type: array defaults: [] # ... - name: storage-driver description: "The storage driver to use, such as 'overlay' or 'vfs'." type: string default: "vfs" # ... steps: # ...
예: Build
CR에서 매개변수에 값 할당
위의 ClusterBuildStrategy
CR은 storage-driver
매개변수를 정의하고 다음 예와 같이 Build
CR에서 storage-driver
매개변수 값을 지정할 수 있습니다.
apiVersion: shipwright.io/v1beta1 kind: Build metadata: name: <your_build> namespace: <your_namespace> spec: paramValues: - name: storage-driver value: "overlay" strategy: name: buildah kind: ClusterBuildStrategy output: # ...
예: 중앙에서 매개변수를 제어하기 위해 ConfigMap
CR 생성
여러 빌드에 storage-driver
매개변수를 사용하고 중앙에서 사용을 제어하려면 다음 예와 같이 ConfigMap
CR을 생성할 수 있습니다.
apiVersion: v1 kind: ConfigMap metadata: name: buildah-configuration namespace: <your_namespace> data: storage-driver: overlay
다음 예와 같이 생성된 ConfigMap
CR을 Build
CR에서 매개변수 값으로 사용할 수 있습니다.
apiVersion: shipwright.io/v1beta1 kind: Build metadata: name: <your_build> namespace: <your_namespace> spec: paramValues: - name: storage-driver configMapValue: name: buildah-configuration key: storage-driver strategy: name: buildah kind: ClusterBuildStrategy output: # ...
예: Build
CR에서 type 배열
의 매개변수에 값 할당
배열
형식의 매개 변수에 값을 할당할 수 있습니다. buildah
전략을 사용하는 경우 registries-search
매개변수를 정의하여 특정 레지스트리의 이미지를 검색할 수 있습니다. 다음 예제에서는 registries-search
배열 매개변수에 값을 할당하는 방법을 보여줍니다.
apiVersion: shipwright.io/v1beta1 kind: Build metadata: name: <your_build> namespace: <your_namespace> spec: paramValues: - name: storage-driver configMapValue: name: buildah-configuration key: storage-driver - name: registries-search values: - value: registry.redhat.io strategy: name: buildah kind: ClusterBuildStrategy output: # ...
예: Build
CR에서 시크릿 참조
다음 예와 같이 registries-block
배열 매개변수의 시크릿을 참조할 수 있습니다.
apiVersion: shipwright.io/v1beta1
kind: Build
metadata:
name: <your_build>
namespace: <your_namespace>
spec:
paramValues:
- name: storage-driver
configMapValue:
name: buildah-configuration
key: storage-driver
- name: registries-block
values:
- secretValue: 1
name: registry-configuration
key: reg-blocked
strategy:
name: buildah
kind: ClusterBuildStrategy
output:
# ...
- 1
- 이 값은 보안을 참조합니다.