我正在创建一个模板,以便在其中传递工作清单。在此模板中,我将“预”作业添加到作业列表中,然后添加所有作业。我希望能够对作业列表中的所有作业添加对“ pre”作业的依赖性,而又不会破坏joblist参数中的作业之间的任何依赖性。我的模板如下所示:
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 }}
现在这当然会覆盖传递的作业的dependsOn。
我可以在模板中进行哪些更改,以便可以将传递的作业依赖项与prejob
作业一起加入? join
表达式连接了2个数组,但是我的prejob
文本不是数组,并且我不确定作业的dependsOn
属性始终是数组。
答案 0 :(得分:1)
请尝试以下操作:
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'
- ${{ if job.dependsOn }}:
- ${{ job.dependsOn }}
steps:
- ${{ job.steps }}
通过这种方式,您应该能够对prejob
建立依赖性,并保持作业的依赖性。