1

我有一个用于多个管道的共享 yaml 文件,我想参数化 yaml 文件中其中一个图像的标签。

最简单的方法是什么?目前我正在维护多个KubernetesPods.yaml,例如KubernetesPods-1.5.0.yaml并将参数插入名称(yamlFile "KubernetesPods-${params.AGENT_POD_SPEC}.yaml"),但这不能很好地扩展。

我可以在不必在每个管道中写出 yaml 的情况下将参数放入 yaml 吗?

示例管道:

pipeline {
  agent {
    kubernetes {
      yamlFile 'KubernetesPods.yaml'
    }
  }
  parameters {
    choice(
      name: 'AGENT_POD_SPEC',
      choices: ['1.5.0','1.3.0','1.2.0','1.4.0'],
      description: 'Agent pod configuration'
    )
  }
}

KubernetesPods.yaml 示例:

kind: Pod
spec:
  containers:
  - name: example-image
    image: example/image:<IMAGE-TAG-I-WANT-TO-PARAMETERIZE>
    imagePullPolicy: Always
    command:
    - cat
4

0 回答 0