Azure DevOps 发布管道 - 使用变量定义部署组,例如:Ubuntu-$(环境)

问题描述 投票:0回答:1

我们希望在所有环境中使用此发布管道。

我们有几个环境,每个环境都有适当的名称:

Ubuntu-$(environment)

使用

agentless job
,通过
rest api
任务
POST
方法我调用相应的URL:
https://org.visualstudio.com/project/_apis/distributedtask/deploymentgroups

它将创建一个

Ubuntu-$(environment)
,这是一个空的部署组。

terraform 步骤将在下一步中填充此部署组。

之后,部署组作业需要在

Ubuntu-$(environment)
部署组上运行。

可以泛指吗?有解决方法吗?

当然,在我第一步创建部署组之前,我无法在后续部署组作业中引用它,因为它不存在。

azure-devops azure-pipelines-release-pipeline
1个回答
0
投票

恐怕部署组名称字段不支持使用管道变量来定义名称。

目前仅支持部署组作业中硬编码部署组名称。

我完全理解您的要求。您可以在网站:开发者社区提交建议票来报告此功能。

要解决此问题,您可以考虑更改为在 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 变量。

© www.soinside.com 2019 - 2024. All rights reserved.