【发布时间】:2021-03-15 09:47:37
【问题描述】:
我想在多个部署中重复使用服务器列表。我在某些模板中所做的简化版本deploy-tasks.yml:
parameters:
- name: servers
type: object
- ${{ each server in parameters.servers }}:
- task: CopyFiles@2
inputs:
sourceFolder: ${{parameters.sourceFolder}}
targetFolder: '\\${{server}}\some-path'
cleanTargetFolder: true
然后我可以在例如pipeline.yml中使用它
steps:
- checkout: self
- template: deploy-tasks.yml
parameters:
servers:
# How can I define this list somewhere else?!
- server1
- server2
sourceFolder: '$(Build.SourcesDirectory)\something'
到目前为止它可以工作:但我想提取常用的服务器列表。所以像infra.yml:
my-production-webservers:
- production1
- production2
然后类似(但这不起作用):
steps:
- checkout: self
- template: deploy-tasks.yml
parameters:
servers:
!!! something that includes my-production-webservers !!!
sourceFolder: '$(Build.SourcesDirectory)\something'
变量在这种情况下不起作用,因为它们只是字符串。我错过了什么技巧?
【问题讨论】:
-
我认为这是不可能的。也许您可以扩展模板 docs.microsoft.com/en-us/azure/devops/pipelines/process/… 。在某一时刻,您需要将值直接分配给参数。
标签: azure-devops yaml azure-devops-pipelines