java - Azure 发布管道未从 nestedStack.yml 文件中获取变量
问题描述
我正在配置我们的发布管道,以便在拉取请求合并到主服务器并部署到开发环境后自动运行集成测试。
我目前遇到连接错误,特别是java.net.UnknownHostException:看起来我的nestedStack.yml 代码中的一个输出变量没有被正确导入/读取:
您可以看到那里有一个属性“ApiGatewayInvokeUrl”,它被标记为输出。它在 Azure DevOps 上用于我的“部署到开发”阶段的“集成测试”任务。它被写成 $(ApiGatewayInvokeUrl),因为这就是 Azure DevOps 上变量的使用方式。
此 Deploy to Dev 将“成功”,但是当我进一步检查集成测试时,我发现没有实际运行,并且立即出现连接错误。我可以看到它正在将变量输出为 $(ApiGatewayInvokeUrl) ,因此看起来它只是将其作为字符串读取,并且从不将其替换为正确的 URL 值:
我偏离了另一个团队在类似管道上设置集成测试的方式,但我可能错过了一些东西。我是否需要在我的代码库或 Azure 的某个地方定义 $(ApiGatewayInvokeUrl)?还是我错过了什么?我检查了其他团队的代码,并没有看到他们在其他任何地方定义它,这就是我非常困惑的原因。
更新:我进入 AWS API Gateway 并复制了调用 URL 并将其硬编码到 Azure DevOps Maven(集成测试)目标路径中,现在它正在连接。因此,出于某种原因,它 100% 只是不导入该变量。
解决方案
你需要定义\创建变量来使用它(除非它是一个自动变量,而且这个绝对不是一个自动变量)。该变量没有被替换,因为它不存在(afaik)。
推荐阅读
- python - 使用 Python 在卡方检验中未获得预期结果
- reactjs - 如何在 vscode 中添加对 .mdx/markdown 反应文件类型的 emmet 支持
- javascript - 如何使用 JavaScript 计算器将“分数”添加到输入区域?
- apache-kafka-streams - 从基于日窗口的状态存储中获取非压缩键/值
- rest - TTeeGrid 不在运行时使用来自 REST 的数据显示数据
- javascript - Javascript更改功能以检查多个ID
- python - 如何在python中使用if elif和delete语句编写for循环?
- php - 带有链接的 Woocommerce 产品变体
- javascript - 如何重用我的代码 javascript 的功能?
- node.js - Socket.IO 中对无效令牌的响应