Azure DevOps 在生成主机之间传递动态分配的变量
Azure DevOps passing Dynamically assigned variables between build hosts
我在 vs2017-win2016 构建代理上使用 Azure DevOps 来使用 Terraform 预配一些基础结构。
我想知道是否可以将主机动态分配的 IP 地址的 Terraform 输出传递给
第二份工作 运行 不同的构建代理。
我能够在第一个作业中传递这些来构建变量
BASTION_PRIV_IP=x.x.x.x
BASTION_PUB_IP=1.1.1.1
但是无法让这些变量看起来像是被第二个构建代理消耗了 运行 ubuntu-16.04
我能够传递任何静态定义的参数,例如我在作业开始之前定义的 Azure 资源组名称,它只是
动态分配的。
当您使用基于 YAML 的构建时,这很容易完成。
重要的是要知道默认情况下变量仅在当前作业范围内可用。
但是,您可以将变量设置为作业的输出变量。
然后可以将此输出变量映射到第二个作业中的变量(请注意,您需要将第一个作业设置为第二个作业的依赖项)。
请参阅下面的 link 示例,了解如何让它工作
它也可以在可视化设计器类型的构建中使用,但我无法在我所做的快速测试中使用它,也许你可以从 linked 中获得一些灵感例如。
我在 vs2017-win2016 构建代理上使用 Azure DevOps 来使用 Terraform 预配一些基础结构。
我想知道是否可以将主机动态分配的 IP 地址的 Terraform 输出传递给 第二份工作 运行 不同的构建代理。
我能够在第一个作业中传递这些来构建变量 BASTION_PRIV_IP=x.x.x.x BASTION_PUB_IP=1.1.1.1
但是无法让这些变量看起来像是被第二个构建代理消耗了 运行 ubuntu-16.04 我能够传递任何静态定义的参数,例如我在作业开始之前定义的 Azure 资源组名称,它只是 动态分配的。
当您使用基于 YAML 的构建时,这很容易完成。 重要的是要知道默认情况下变量仅在当前作业范围内可用。 但是,您可以将变量设置为作业的输出变量。 然后可以将此输出变量映射到第二个作业中的变量(请注意,您需要将第一个作业设置为第二个作业的依赖项)。
请参阅下面的 link 示例,了解如何让它工作
它也可以在可视化设计器类型的构建中使用,但我无法在我所做的快速测试中使用它,也许你可以从 linked 中获得一些灵感例如。