Azure DevOps在构建主机之间传递动态分配的变量

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

我在vs2017-win2016构建代理上使用Azure DevOps来使用Terraform配置一些基础架构。

我想知道的是,可以将主机动态分配的IP地址的Terraform输出传递给运行不同构建代理的第二个作业。

我能够在第一个Job BASTION_PRIV_IP = x.x.x.x BASTION_PUB_IP = 1.1.1.1中传递这些变量来构建变量

但是无法让这些变量看起来与运行ubuntu-16.04的第二个构建代理一起使用我能够传递任何静态定义的参数,例如我在作业开始之前定义的Azure资源组名称,它只是动态分配的参数。

azure-devops azure-pipelines build-agent
1个回答
4
投票

当您使用基于YAML的构建时,这很容易完成。重要的是要知道变量默认情况下仅在当前作业的范围内可用。但是,您可以将变量设置为作业的输出变量。然后可以将此输出变量映射到第二个作业中的变量(请注意,您需要将第一个作业设置为第二个作业的依赖项)。

有关如何使其工作的示例,请参阅以下链接

https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch#set-a-multi-job-output-variable

在视觉设计器类型的构建中它也可能是可行的,但是我无法在快速测试中使用它,也许你可以通过链接的示例获得一些工作。

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