我希望触发一个以对象为参数的作业模板。不幸的是,即使是基于这些例子,我也找不到一种方法来做到这一点。如果有人能指导我如何做到这一点,我将不胜感激。
我想要实现的是,用动态变量替换"DEPLOY“、"CONFIG"部件:
- template: job-template.yaml
parameters:
jobs: ["DEPLOY", "CONFIG"]发布于 2020-09-22 11:31:27
这是不可能的YAML在这里是非常有限的,您可以阅读更多关于这个这里的内容。
Yaml变量一直是string: string映射。
因此,例如,可以将参数定义为复杂类型。
模板文件
parameters:
- name: 'instances'
type: object
default: {}
- name: 'server'
type: string
default: ''
steps:
- ${{ each instance in parameters.instances }}:
- script: echo ${{ parameters.server }}:${{ instance }}主文件
steps:
- template: template.yaml
parameters:
instances:
- test1
- test2
server: someServer但是您无法动态/以编程的方式执行,因为您要创建的每个输出都将以简单字符串的形式结束。
您可以做的是将其作为字符串传递,然后使用powershell拆分该字符串。但是,这完全取决于您想要进一步运行的内容,因为您不能这样简单地迭代yaml结构。您所能做的就是在powershell循环中运行并做一些事情,但这对您来说是不够的。
发布于 2021-10-01 19:48:53
有一些逻辑是可能的。见下文
- template: job-template.yaml
parameters:
param: ["DEPLOY", "CONFIG"]在作业模板. you文件中可以定义。所以每个工作名称都是不同的
parameters:
param: []
jobs:
- ${{each jobName in parameters.param}}:
- job: ${{jobName}}
steps:
- task: Downl......https://stackoverflow.com/questions/64005670
复制相似问题