我在 Stage 中使用 Azure DevOps 模板,并且我希望一些作业仅在模板中的作业完成时开始(dependsOn):
- stage: stage1
jobs:
- job: job1
steps:
- bash: |
...
- template: template1.yml
parameters:
param1: 'val1'
- job: job2
**dependsOn: how to put `template: template1.yml` here?**
steps:
- bash: |
...
Run Code Online (Sandbox Code Playgroud)
怎么可能呢?
Eri*_*ith 13
您可以通过使用作业名称来完成此操作,因为它是在您的模板中定义的dependsOn。
#template1.yml
jobs:
- job: mytemplateJob
steps:
- script: npm install
Run Code Online (Sandbox Code Playgroud)
和
stages:
- stage: stage1
jobs:
- job: job1
steps:
- bash: pwd
- template: template1.yml # Template reference
parameters:
param: 'val1'
- job: job2
dependsOn: mytemplateJob
steps:
- bash: pwd
Run Code Online (Sandbox Code Playgroud)
Nic*_*ham 10
以Eric Smith 的回答为基础,您可以传入模板将依赖的作业名称作为参数。
#template1.yml
jobs:
- job: mytemplateJob1
steps:
- script: npm install
Run Code Online (Sandbox Code Playgroud)
#template2.yml
parameters:
DependsOn: []
jobs:
- job: mytemplateJob2
dependsOn: ${{ parameters.DependsOn }}
steps:
- bash: pwd
Run Code Online (Sandbox Code Playgroud)
通过为 DependsOn 设置默认值,[]您可以确保在没有为 DependsOn 传入任何值时模板将运行,但您可以选择创建这样的依赖项:
stages:
- stage: stage1
jobs:
- template: template1.yml # Template reference
- template: template2.yml
parameters:
DependsOn: 'mytemplateJob1'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3287 次 |
| 最近记录: |