【发布时间】:2020-07-16 12:28:03
【问题描述】:
我刚刚开始使用 azure 管道。我们希望不再使用 arm 模板和参数文件手动部署 Azure 资源,而是使用 devops 管道进行部署。
虽然使用单个模板+参数的 json 文件执行此操作很简单,但我看不到处理多个文件的明智方法。
我已经看到有关使用数组作为管道模板参数的讨论 - 这会起作用,但除了在管道 yaml 文件中手动设置之外,我看不到如何创建参数数组。
更有用的解决方案是从文本文件中读取其内容——我们可以在读取文件之前生成它,或者——甚至更理想地——通过引用包含 json 的 repo 中的文件夹的目录列表他们都通用的模板的参数文件。
yaml 管道中的代码片段能够传回单个字符串变量,例如
script: |
# Get list of files in folder
$fl = get-childitem ./templates | select-object -expand name
Write-output "##vso[task.setvariable variable=fl]$fl"
但所有这一切都产生了一个我无法拆分的单个字符串。
同样,我可以使用一段代码来动态创建文件列表 - 但同样,看不到如何在管道中读取它。
有没有一种方法可以让我在 devops 管道中动态设置参数数组的内容,或者从文件中读取数组?
或者我应该放弃并在 powershell 脚本中编写整个内容并使用任务来运行它,而不是尝试在 devops 中使用 azure 部署任务?
谢谢 戴夫
【问题讨论】:
标签: azure azure-pipelines devops