You need to enable JavaScript to run this app.
导航
使用变量
最近更新时间:2024.07.25 14:36:09首次发布时间:2024.03.08 11:11:09

通过在流水线中引用变量,可提高流水线的灵活性和通用性。本文为您介绍如何在流水线中使用变量。

背景信息

  • 流水线各步骤的输入框,包括命令执行输入框、YAML 输入框、Dockerfile 输入框,均支持使用变量。

    说明

    步骤名称、产出物、镜像引用三个参数不支持使用流水线变量。

  • 使用变量时,支持固定值 + 自定义变量 + 预置变量组合使用,例如:v1.0-$(DATETIME)
  • 当变量同名时,生效优先级如下:
    • 步骤内变量自定义变量预置变量 各自生效,互不影响。
    • 运行时变量赋值(代码源触发/定时触发/Webhook 触发设置的运行时变量 value,手动运行时设置的 value)> 自定义变量默认值 > 流水线变量组中同名变量的默认值。

    说明

    • 示例 1:步骤内变量与自定义变量重名
      kubectl 发布 步骤中的镜像引用变量: image = 上游产物,流水线中自定义变量: image = userxy2015/ngnix,则最终 kubectl 发布 步骤的镜像会引用上游产物,其他步骤如果涉及镜像引用,镜像会使用userxy2015/ngnix
    • 示例 2:自定义变量与预置变量重名
      例如:DATETIME = 20220801,预置变量DATETIME = UTC + 0:00,则以$(parameters.DATETIME)形式引用,将生效自定义变量 20220801;以$(DATETIME)形式引用,将生效预置变量。

引用预置变量

  • 对于 SCM 相关预置变量,在流水线目标步骤中,通过${预置变量名}的形式进行引用。
  • 对于其他预置变量,在流水线目标步骤中,通过$(预置变量名)的形式进行引用。

说明

快捷复制变量:支持在 预置变量 页面, 单击 操作 列的复制图标,复制待使用变量的完整表达式。

alt

引用自定义变量

  1. 在目标流水线中创建自定义变量。
  2. 在当前流水线目标步骤中,引用该变量。其中:
    • 环境变量引用方式为${变量名}$变量名
    • 变量引用方式为$(parameters.变量名)

说明

快捷复制变量:支持在 自定义变量 页面, 单击 操作 列的复制图标,复制待使用变量的完整表达式。

引用流水线变量组

  1. 创建流水线变量组。
  2. 在目标流水线中关联当前流水线变量组。
    1. 在流水线的 流程编排 > 变量 > 流水线变量组 面板中,单击+
    2. 在弹出的对话框中,勾选目标流水线变量组。
    3. 单击 确定
  3. 在当前流水线目标步骤中,通过$(parameters.变量名)的形式进行引用。

说明

快捷复制变量:在 流水线变量组 页面,单击要使用的变量组,进入变量详情页面。 支持单击 操作 列的复制图标,复制待使用变量的完整表达式。

示例

下文以 Kubernetes 镜像升级任务中,目标镜像引用自定义动态变量为例,介绍如何在流水线中使用变量。

  1. 在目标流水线中创建自定义变量。
    变量名称为 image,默认值为待升级的镜像版本:nginx:lastest,开启动态设置。

    alt

  2. 切换至流程编排页签,编辑 Kubernetes 镜像升级任务,对镜像使用刚创建的变量 image。
    alt

  3. 其他参数配置完毕后,单击 确定,完成任务编辑操作。

  4. 单击 保存,保存流水线。

  5. 单击 立即运行,在弹出运行流水线面板中,设置变量 image 的运行值。
    alt

  6. 单击 确定,运行流水线。即可通过一条流水线实现使用不同版本的镜像对应用进行升级的目的。