目前在 Azure 管道中,我们可以将要执行的作业列表传递给带有jobList
类型参数的子模板,如文档中所示。
有没有办法可以从 pipeline.yml 封装这些作业,这些作业正在传递给jobList
另一个作业模板中的参数,并将该模板传递给jobList
参数。我尝试按如下方式构建我的管道:
pipeline.yml
deployment-template.yml
post-deploy-tests-dev.yml
post-deploy-smoke-tests-prod.yml
我想deployment template
根据环境动态地将不同的测试作业插入到末尾。我尝试了下面的jobList
类型参数,deployment-template.yml
但它抛出了一个错误说mapping not expected
。
#post-deploy-tests-dev.yml
jobs:
- job: Test1
steps:
- script: execute test1
#post-deploy-tests-smoke-tests-prod.yml
jobs:
- job: Test2
steps:
- script: execute test2
#pipeline.yml
...
- template: deployment-template.yml
parameters:
environment: dev
testsJobsList:
template: post-deploy-tests-dev.yml
- template: deployment-template.yml
parameters:
environment: prod
testsJobsList:
template: post-deploy-smoke-tests-prod.yml
#deployment-template.yml
parameters:
- name: testsJobsList
type: jobList
default: []
#All deployment jobs here
jobs:
...
...
#Tests as the end
- ${{ parameters.testsJobsList }}
有没有办法动态传递jobList
?