Yav*_*vuz 12 azure-devops azure-pipelines-build-task
我有一个任务组,其中包含Azure Key Vault任务和Azure资源组部署任务以及其他任务.在后者中,我想要使用来自密钥库的值覆盖ARM模板中的一些参数.
Azure Key Vault任务中的Secrets过滤器字段如下所示.这些秘密可作为其他任务中的变量使用,其名称与秘密名称相同.因此,Azure资源组部署任务中的" 覆盖模板参数"字段具有该值.secret1,secret2,secret3-p1 $(secret1) -p2 $(secret2) -p3 $(secret3)
问题是VSTS会自动选择三个变量作为任务组的参数.我不希望这种情况发生.这些变量将在任务组本身中设置和读出.它们就像一个班级中的私人领域.
一种方法是删除Azure Key Vault任务,然后使用Build and Release> Library> Variable组.但是没有办法将变量组链接到任务组.
我认为没有办法从任务组的参数中删除变量。这与 VSTS 如何处理任务组内的变量的内部工作有关。博客文章VSTS/TFS:了解任务组及其使用 setvariable logging 命令的各种用例提供了一些关于任务组中变量如何表现的见解。在同一篇博客文章中,有一种解决方法可以解决我想要实现的目标。
任务组将具有三个附加参数 secret1、secret2 和 secret3。当我将任务组添加到发布定义时,我必须填写以下值:
$(secret1)对于参数secret1$(secret2)对于参数secret2$(secret3)对于参数secret3为了减少错误并改善体验,您可以将这些值设置为任务组中参数的默认值。这样,您只需填写任务组所需的其余必需参数。
丑陋,但有效。
我遇到了同样的问题。我发现您可以通过将任务组导出到 JSON 文本文件并重新导入来删除不必要的参数(即由变量组提供的参数)。
只需在 notepad++ 或您最喜欢的 JSON 编辑器中编辑 JSON 文件,并在重新导入之前删除所有不必要的参数。导入后,它们就消失了。
另请注意,您可能可以以相同的方式添加新参数,但我还没有尝试过。
| 归档时间: |
|
| 查看次数: |
2471 次 |
| 最近记录: |