You need to enable JavaScript to run this app.
导航

使用占位符和变量

最近更新时间2023.10.23 11:22:01

首次发布时间2023.10.23 11:22:01

系统提供镜像占位符、预置占位符、自定义占位符,帮助您快速编排应用。本文为您介绍占位符相关特性、如何使用占位符和变量。

背景信息

  • 镜像占位符
    在运行时由用户动态传入目标镜像地址,方便应用的镜像升级、多环境差异化部署等场景。

    名称类型描述使用说明

    image.[自定义名称]

    字符串

    输入镜像的用途等备注信息,可以为空。

    • 单击 添加,新增一条镜像占位符。支持自定义镜像占位符的名称和描述。
    • 在 YAML 编辑区域敲击{{ .AppDeliver.image.[自定义名称] }}即可引用当前镜像占位符。
    • 系统默认为 Deployment 资源提供一个名为 image.backend 的镜像占位符。支持修改或删除。
  • 预置占位符
    预置占位符是系统预设的占位符,预置占位符的值不支持修改。

    名称类型值来源使用说明

    appName

    字符串

    变量

    AppName

    • appName 为系统预设的应用标识占位符,帮助您快速区分应用。取值 AppName 为预置配置项,表示当前应用的应用标识,不支持修改。
    • 在 YAML 编辑区域敲击{{ .AppDeliver.appName }},即可引用当前预置占位符。

    envName

    字符串

    变量

    EnvName

    • envName 为系统预设的环境标识占位符,帮助您快速区分应用部署的环境。取值 EnvName 为预置配置项,表示当前应用的环境标识,不支持修改。
    • 在 YAML 编辑区域敲击{{ .AppDeliver.envName }}即可引用该预置占位符。
  • 自定义占位符
    自定义占位符是用户设置的占位符。值来源可以是变量(系统预置配置项、自定义配置项)或常量。将自定义占位符和变量一起使用,可以实现一套应用编排在不同环境下的差异化部署。
    系统默认提供了 namespace、port、replicas 等常用的自定义占位符,并且已预设推荐的默认值。您可以根据需要进行新增、修改或删除自定义占位符。

前提条件

  • 已创建环境。本示例创建开发环境 1 和测试环境 1。
  • 已提前创建变量。本示例创建自定义配置项 Label。

操作步骤

下文以新增一个自定义占位符 label,实现开发环境和测试环境使用不同的 Deployment 标签为例:

  1. 登录当前应用。

    1. 登录 持续交付控制台
    2. 在左侧导航栏选择 工作区
    3. 单击目标工作区名称,进入当前工作区。
    4. 在左侧导航栏选择 应用交付 > 应用管理
    5. 单击目标应用卡片,进入当前应用。
  2. 单击 应用编排,切换至应用编排页签。

  3. 单击 编辑,进入应用编排页面。

  4. 在 YAML 编辑区域, metadata.labels.run 参数下方输入run: "{{ .Values.label }} "

  5. 单击 提取占位符,右侧自定义占位符区域同步展示新增的自定义占位符 label。

  6. 设置自定义占位符 label 的信息。

    alt

    配置项说明

    名称

    显示提取到的自定义占位符的名称。本示例为 label。

    注意

    如需修改名称,请务必同步修改 YAML 编辑区域的自定义占位符名称。本示例选择变量。

    类型

    根据需要选择当前占位符的类型,默认为字符串。支持字符串、整数、浮点数、布尔值。

    说明

    值来源选择变量时,类型保持默认。

    值来源支持常量和变量。变量用于实现不同环境的差异化部署。本示例选择变量。

    输入配置项的值。本示例使用提前创建的自定义配置项 Label。

    • 值来源选择常量时,直接输入对应类型的值即可。
    • 值来源选择变量时,支持使用预置配置项或您创建的自定义配置项。
  7. 单击 确定,在弹出的信息框中设置生效环境。本示例选择提前创建好的开发环境 1 和测试环境 1。

  8. 设置完成后,单击 创建

后续操作

在开发环境 1 和测试环境 1 中分别启用自定义配置项 Label,赋值 aaa 和 bbb。即完成了一套编排在不同环境下 Deployment 标签不同的配置。开发环境 1 部署时,将 aaa 赋值给 label;测试环境 1 部署时,将 bbb 赋值给 label。