Azure发布管道未从nestedStack.yml文件中获取变量

时间:2020-01-03 18:05:09

标签: java azure api azure-devops azure-pipelines

我正在配置发布管道,以便在合并请求到主服务器并将其部署到Dev环境后自动运行集成测试。

我目前遇到连接错误,特别是 java.net.UnknownHostException:,看来我的nestedStack.yml代码中的输出变量之一没有正确导入/读取:

my-repo / cloud-formation / nestedStack.yml enter image description here

您可以看到那里有一个属性“ ApiGatewayInvokeUrl”,被标记为“输出”。在Azure DevOps的“部署到开发”阶段中,将其用于“集成测试”任务。它写为$(ApiGatewayInvokeUrl),因为这就是使用Azure DevOps上的变量的方式。

enter image description here

此Deploy to Dev将“成功”,但是,当我进一步检查集成测试时,我发现没有实际运行,并且立即出现连接错误。我可以看到它将变量输出为$(ApiGatewayInvokeUrl),因此看起来它只是将其读取为String,而从未用它替代正确的URL值: enter image description here

我本来打算让另一个团队在类似的管道上建立集成测试,但是我可能错过了一些东西。我是否需要在代码库中的某个地方或Azure的某个地方定义$(ApiGatewayInvokeUrl)?还是我错过了什么?我检查了其他团队的代码,却没有看到他们在其他地方定义它,这就是为什么我很困惑。

更新:我进入AWS API Gateway,复制了调用URL,并将其硬编码到Azure DevOps Maven(集成测试)目标路径中,现在它正在连接。所以100%只是出于某种原因不导入该变量。

1 个答案:

答案 0 :(得分:1)

您需要定义\创建变量以使用它(除非它是一个自动变量,而且这个绝对不是一个自动变量)。该变量不会被替换,因为它不存在(afaik)。