You need to enable JavaScript to run this app.
文档中心
持续交付

持续交付

复制全文
下载 pdf
最佳实践
通过自定义步骤 output 传递流水线产物
复制全文
下载 pdf
通过自定义步骤 output 传递流水线产物
本文为您介绍如何通过自定义步骤 output 定义输出产物,并在下游任务/步骤中引用该产物。​
前提条件​
操作步骤​
步骤一:创建自定义步骤​
定义自定义步骤的 YAML 内容,并上传至持续交付控制台。​
  1. 登录 持续交付控制台,在左侧导航栏选择 模板市场 > 步骤模板。​
  1. 在步骤模板页面,单击 创建自定义步骤,弹出创建自定义步骤面板。​
  1. 在左侧输入框,按照自定义步骤的 YAML 要求,编写步骤内容。​
注意​
需通过 outputs 定义产物,并在 script 中传递产物,将产物写入 /tekton/results/<产物name>_${CP_STEP_NAME}文件中。详情请参见示例的注释信息。​
  • 本文使用的 YAML 示例如下:​
  • ​
    # 自定义步骤名称,必填项。支持英文大小写、数字、“-”中横线,长度 2~50,不允许重名。​
    step: test-output​
    # 自定义步骤版本,必填项。要求格式为 x.y.z,且 x,y,z 均为 [0,100] 的整数。​
    version: 1.0.0​
    # 自定义步骤的显示名称,必填项。支持中英文大小写、数字、“-”中横线,长度 2~50。用作步骤名称展示,不允许为空、不允许重名。​
    displayName: 自定义步骤输出产物 ​
    # 自定义步骤描述,非必填。200个字符以内,支持中英文大小写特殊字符。​
    description: 通过outputs字段来指定多个需要输出的产物,并允许下游任务/步骤引用 ​
    # 分类,必填项。目前仅支持以下分类:【构建】Build 、【测试】Test、 【部署】Deploy、 【镜像仓库】Registry、 【命令执行】Command、 【其他】Other​
    category: Other​
    # 运行时镜像,必填项。支持公有镜像和私有镜像。​
    image: xxx.cr.volces.com/ns/busybox:latest​
    # 定义步骤的输入信息,非必填。支持配置多条步骤入参。​
    inputs:​
    - name: arg1​
    displayName: arg1​
    type: string​
    required: true​
    uiConfig:​
    type: CodeEditor​
    - name: arg2​
    displayName: arg2​
    type: string​
    required: true​
    uiConfig:​
    type: CodeEditor​
    ​
    # 定义步骤的输出信息,非必填。​
    outputs: ​
    - name: result1​
    displayName: result1​
    type: string​
    - name: result2​
    displayName: result2​
    type: string​
    ​
    # 运行脚本,必填项、不能为空。作用类似于 Dockerfile 文件中的 ENTRYPOINT,用于指定容器启动程序及参数。​
    script: |​
    # 获取两个参数的输入 ​
    result1='$(inputs.arg1)'​
    result2='$(inputs.arg2)'​
    # 产物需要通过文件进行传递,因此在运行脚本中,需要将产物信息写入到固定目录下的文件中 ​
    # 要写入的固定目录为:/tekton/results/​
    # 每个产物需分别将内容写入到目录下文件中,文件名格式为:<name>_${CP_STEP_NAME} ​
    # 如下所示,将第一个产物 Result1 的内容写入到 /tekton/results/result1_${CP_STEP_NAME}文件中​
    echo -n "$result1" > /tekton/results/result1_${CP_STEP_NAME}​
    # 如下所示,将第二个产物 Result2 的内容写入到 /tekton/results/result2_${CP_STEP_NAME}文件中​
    echo -n "$result2" > /tekton/results/result2_${CP_STEP_NAME}​
    ​
  1. 编写完成后,单击 确定。 创建成功的自定义步骤将展示在对应分类下。​
  • ​​​
步骤二:编排流水线​
通过在流水线中编排一个串联的自定义步骤和命令执行任务,介绍如何在下游命令执行任务中引用上游自定义步骤的产物。​
  1. 配置自定义步骤。​
  1. 填写自定义步骤的参数信息。本示例参数一输入:hello arg1;参数二输入:hello arg2。​
  • ​​​
  1. 在任务输出处复制自定义步骤的产物表达式,备用。​
  • ​​​
  1. 配置命令执行任务。​
  1. 新增一个阶段,添加命令执行任务。​
  1. 填写执行的命令:使用上文复制的表达式,输出上游的两个产物信息。​
注意​
引用上游产物的表达式格式为:$(你的产物表达式)。​
  • ​alt​​
  1. 单击 保存,保存流水线编排。​
步骤三:运行流水线​
  1. 在当前流水线详情页面,单击 立即运行。​
  1. 在弹出的确认框中,单击 确定。 流水线开始运行,系统跳转至当前流水线的详情页面。​
结果验证​
结合当前流水线编排可知,预期将输出以下信息:​
​
上游第一个产物为:​
hello arg1​
上游第二个产物为:​
hello arg2​
​
查看流水线运行结果,由命令执行任务的日志信息可看出结果符合预期。​
​​​
​
​
最近更新时间:2025.09.04 19:20:17
这个页面对您有帮助吗?
有用
有用
无用
无用