Azure devops 扩展作业';s dependsOn在模板中
我正在创建一个模板,在其中传递一个工作列表。在这个模板中,我将一个“pre”作业添加到作业列表中,然后添加所有作业。我希望能够将对“pre”作业的依赖添加到作业列表中的所有作业中,而不会破坏作业列表参数中作业之间的任何依赖关系。我的模板如下所示:Azure devops 扩展作业';s dependsOn在模板中,azure-devops,azure-pipelines,Azure Devops,Azure Pipelines,我正在创建一个模板,在其中传递一个工作列表。在这个模板中,我将一个“pre”作业添加到作业列表中,然后添加所有作业。我希望能够将对“pre”作业的依赖添加到作业列表中的所有作业中,而不会破坏作业列表参数中作业之间的任何依赖关系。我的模板如下所示: parameters: - name: Jobs type: jobList jobs: - job: prejob steps: - powershell: | Write-Host "This is my
parameters:
- name: Jobs
type: jobList
jobs:
- job: prejob
steps:
- powershell: |
Write-Host "This is my prejob"
- ${{ each job in parameters.Jobs }}:
- ${{ each pair in job }}:
${{ if and(ne(pair.key, 'steps'),ne(pair.key, 'dependsOn')) }}:
${{ pair.key }}: ${{ pair.value }}
dependsOn: 'prejob'
steps:
- ${{ job.steps }}
现在,这当然覆盖了传递的作业的依赖项
我可以在模板中更改哪些内容,以便将传递的作业依赖项与作业前的作业关联起来?join
表达式连接两个数组,但我的prejob
文本不是数组,我不确定作业的dependsOn
属性始终是数组。请尝试以下操作:
参数:
-姓名:乔布斯
类型:工作清单
工作:
-工作:工作前
步骤:
-powershell:|
写主持人“这是我的职前工作”
-${{parameters.Jobs}中的每个作业:
-${{作业中的每对}}:
${if and(ne(pair.key,'steps'),ne(pair.key,'dependsOn'))}:
${pair.key}}:${{pair.value}
德彭森:
-“工作前”
-${{if job.dependsOn}}:
-${{job.dependsOn}
步骤:
-${{job.steps}
通过这种方式,您应该能够依赖于工前
,并保持与作业的依赖关系。请尝试以下方法:
参数:
-姓名:乔布斯
类型:工作清单
工作:
-工作:工作前
步骤:
-powershell:|
写主持人“这是我的职前工作”
-${{parameters.Jobs}中的每个作业:
-${{作业中的每对}}:
${if and(ne(pair.key,'steps'),ne(pair.key,'dependsOn'))}:
${pair.key}}:${{pair.value}
德彭森:
-“工作前”
-${{if job.dependsOn}}:
-${{job.dependsOn}
步骤:
-${{job.steps}
通过这种方式,您应该能够对
prejob
建立依赖关系,并保留作业的依赖关系。我会试试看,但是您确定dependson允许使用语法吗?根据文档,它应该是数组(方括号)语法()Yes。你甚至有这样的例子,看起来你是对的。yaml文档确实不一致,信息分散。关于dependson的所有其他信息表明您需要使用['a','b']语法。如果允许使用“normal”y'all语法,我不理解为什么它不是默认示例。谢谢我会测试它,但我看不出为什么它不应该work@PaulVrugt请告诉我们您的测试结果。我会的,但我要到周一才能测试。我会试一试,但您确定dependson允许使用语法吗?根据文档,它应该是数组(方括号)语法()Yes。你甚至有这样的例子,看起来你是对的。yaml文档确实不一致,信息分散。关于dependson的所有其他信息表明您需要使用['a','b']语法。如果允许使用“normal”y'all语法,我不理解为什么它不是默认示例。谢谢我会测试它,但我看不出为什么它不应该work@PaulVrugt请告诉我们你的测试结果。我会的,但我要到星期一才能测试