搜索

第 2 章 配置构建策略

download PDF

BuildStrategyClusterBuildStrategy 自定义资源(CR)可帮助您定义策略参数、系统参数、步骤资源定义、注解和卷来配置构建策略。BuildStrategy 资源可用于命名空间,而 ClusterBuildStrategy 资源可用于整个集群。

要配置构建策略,请创建一个 BuildStrategyClusterBuildStrategy 资源 YAML 文件,并将其应用到 OpenShift Container Platform 集群。

2.1. 策略参数定义

您可以在 BuildStrategyClusterBuildStrategy 自定义资源(CR)中定义策略参数,并设置或修改,这些参数的值在 BuildBuildRun CR 中。您还可以在创建构建策略时配置或修改策略参数。

在为您的策略定义参数前请考虑以下点:

  • 在构建策略 CR 的 spec.parameters 字段中定义参数列表。每个列表项都包含数组类型的名称、描述、类型和可选默认值或值。如果没有设置默认值,则必须在 BuildBuildRun CR 中定义值。
  • 在构建策略的 spec.steps 字段中定义字符串或数组类型的参数。
  • 使用 $(params.your-parameter-name) 语法指定字符串类型的参数。您可以为引用您的策略的 BuildBuildRun 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[*])
  • 提供参数值作为简单字符串,或作为配置映射或 secret 中键的引用。对于参数,只有在 spec.steps 字段的命令、argsenv 部分中定义时才可以使用配置映射或 secret 值。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.