一般来说,在 Kubernetes 的资源描述 YAML 中我们会定义应用所有的部署资源并通过标签定义资源之间的关联关系。

Kubernetes常用资源YAML使用方式,可以参考”Kubernetes常用资源 YAML 规范参考“一节

用户可以将 Kubernetes YAML文件与源码保存在一个代码库,或者是拆分到不同的仓库中。为了能够在 YAML 中动态的使用来自前序任务的出参,如 Docker 镜像构建产生的镜像,我们需要对 YAML 文件进行模板化处理。

在 YAML 中定义变量

如下图所示,在 Kubernetes 资源描述 YAML 文件中,通过${IMAGE} 占位符将 Docker 镜像 定义为一个动态参变量。

在Kubectl 步骤中传递变量给 YAML

在 Kubectl 步骤配置中,点击添加变量,并定义变量名称以及变量来源,即可发布时使用这些变量动态替换 YAML 文件中的占位符。

如下图所示,在变量中添加变量。

变量名需要和 YAML中定义的变量名一致,如示例中 ”IMAGE”。

变量值可以选择流水线前序任务的出参,如示例中选择的是前序构建任务的出参,即新构建出来的构建镜像。