我们希望在所有环境中使用此发布管道。
我们有几个环境,每个环境都有适当的名称:
Ubuntu-$(environment)
使用
agentless job
,通过rest api
任务POST
方法我调用相应的URL:https://org.visualstudio.com/project/_apis/distributedtask/deploymentgroups
它将创建一个
Ubuntu-$(environment)
,这是一个空的部署组。
terraform 步骤将在下一步中填充此部署组。
之后,部署组作业需要在
Ubuntu-$(environment)
部署组上运行。
当然,在我第一步创建部署组之前,我无法在后续部署组作业中引用它,因为它不存在。
恐怕部署组名称字段不支持使用管道变量来定义名称。
目前仅支持部署组作业中硬编码部署组名称。
我完全理解您的要求。您可以在网站:开发者社区提交建议票来报告此功能。
要解决此问题,您可以考虑更改为在 YAML 环境中使用 VM 机器。
variables:
test: 123
stages:
- stage: deploy
jobs:
- deployment: DeployWeb
displayName: deploy Web App
pool:
vmImage: 'Ubuntu-latest'
# creates an environment if it doesn't exist
environment:
name: $(test)
resourceName: myVM
resourceType: virtualMachine
strategy:
runOnce:
deploy:
steps:
- script: echo Hello world
Yaml Pipeline 环境具有与 Deployment Group 类似的功能,它支持在名称字段中使用 Pipeline 变量。