将输出从 terraform 传递到 Azure Devops Pipeline,并在 azure 后端存储中使用状态文件

2024-01-06

我似乎无法检索 Terraform 的公共 IP 地址输出以用于 AzureDevops 中构建管道的下一步。

Terraform 状态拉动工作并输出到 json 文件,无法对输出进行 grep。

Terraform state show [options] ADDRESS 不支持 azure 后端,因此无法使用或 grep 或过滤输出

还尝试存储为文件并读取值。

resource "local_file" "foo" {
    content     = "foo!"
    filename = "${path.module}/foo.bar"
}

data "azurerm_public_ip" "buildserver-pip" {
  name                = "${azurerm_public_ip.buildserver-pip.name}"
  resource_group_name = "${azurerm_virtual_machine.buildserver.resource_group_name}"
}

output "public_ip_address" {
  value = "${data.azurerm_public_ip.buildserver-pip.ip_address}"
}

期望公共 IP 地址被传递出去,以便下一步可以在 ansible playbooks、bash 或 python 脚本中使用


基于上面的 @JleruOHeP 答案,以下解决方案将自动为提供的每个输出创建一个变量terraform script

  1. 在您的版本中创建一个 PowerShell 步骤并插入以下内联 PowerShell:
$json = Get-Content $env:jsonPath | Out-String | ConvertFrom-Json

foreach($prop in $json.psobject.properties) {
    Write-Host("##vso[task.setvariable variable=$($prop.Name);]$($prop.Value.value)")
}
  1. 确保您已提供环境变量jsonPath像这样:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将输出从 terraform 传递到 Azure Devops Pipeline,并在 azure 后端存储中使用状态文件 的相关文章

随机推荐

  • Mac 上的临时端口范围是多少?

    我正在尝试对 Web 框架进行基准测试 并发现没有足够的免费临时端口可能会伪造结果 不幸的是 我还没有找到我的 Mac 上的临时端口范围 或者如何显示它 基准测试者 请注意临时端口限制 https web archive org web 2
  • Maven Eclipse 多模块阴影依赖

    在多模块 Maven 项目中 其中一个模块是阴影模块 例如 没有源 但生成一个jar during package阶段 其他模块将此模块作为依赖项引用 全部位于同一父模块下 有没有办法让 Eclipse 将着色模块识别为依赖项 Eclips
  • java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法dispatchCancelPendingInputEvents

    遇到一个问题 我的 Android 应用程序在尝试启动活动时不断崩溃 我无法重现该问题 这只是从发生此问题的多个设备的日志中获取的 堆栈跟踪 2020 03 08 14 58 28 717 5449 5449 I MonoDroid End
  • Android 使用 openssl 构建 PJSIP

    我正在尝试在 Android 上构建具有 SSL TLS 支持的 PJSIP 我成功构建了 OpenSSL 以下这个答案 https stackoverflow com a 11170629 1274789 没有 fips 作为共享 so
  • 在 Pandas 中结合 FacetGrid 和双 Y 轴

    我试图绘制两个不同的变量 通过因果关系链接 delai jour and date sondage在单个 FacetGrid 上 我可以用这段代码做到这一点 g sns FacetGrid df verif sum col prefectu
  • 多行 python 正则表达式

    我有一个结构如下的文件 A some text B more text even more text on several lines A and we start again B more text more multiline text
  • 解析文本最快的方法是什么?

    假设我想提取在某个文本文件中找到的给定字符串后面的第一个单词 或浮点数 请参阅如何提取字符串后面的第一个单词 https stackoverflow com questions 3549877 how to extract the firs
  • 线程同步 - 同步三个线程打印 012012012012..... 不起作用

    我正在尝试同步三个线程来打印 012012012012 但它无法正常工作 每个线程都分配有一个数字 当它收到来自主线程的信号时 它将打印该数字 以下程序有问题 我无法发现 public class Application public st
  • 多平台C++交叉编译器

    如何为 C 库构建交叉编译器以在单个构建服务器上针对多个平台 交叉编译器应该能够为 至少 Windows 7 Mac OS X Ubuntu 11 04 32 位 64 位 调试 发布 构建库 我不在乎从头开始的整个构建是否需要永远 或者是
  • -framework Accelerate,其中包含

    我正在尝试编译别人的代码 但没有简单的头文件 我需要链接 osx 上的默认 lapack 和 blas 库 经过一番搜索后我发现它们位于 Accelerate 框架中 在我的 make inc 中我使用了类似的东西 LAPACK LIBS
  • Handlebars-template 中元素的 Onclick 功能

    我正在使用 Handlebars js 和一些 jQuery 构建一个简单的 Web 应用程序 现在我有一个数据列表 并通过 Handlebars 模板呈现它们 然后我想要一些与这些相关的操作 例如更新一个元素 或者删除一个元素 我有与这些
  • Android - 完全从 xml 创建列表视图

    我想在我的申请中提出一些选择 现在我正在用一个一个的按钮来做这件事 我真正想做的是将它们呈现为一个列表 就像 设置 应用程序中一样 这归结为创建一个包含预定义值 选择的列表 我的问题是我不知道如何使用 xml 来做到这一点 我可以像这样将
  • ReactJS:如何将一个组件覆盖在另一个组件的元素之上?

    我才刚刚开始反应 我有一个带有输入字段和按钮的组件 还有另一个组件返回 JSX 一个闪烁的点 我正在主组件中导入闪烁点组件 并希望在输入字段为空时将闪烁点覆盖在输入字段的顶部 我怎样才能实现这个目标 请帮助我 其代码可以在以下位置找到 ht
  • For 循环总是至少执行一次吗?

    据我的老师说 即使不满足条件 for 循环也总是至少执行一次 示例 就像我从 C 中知道的那样 for int i 6 i lt 5 i irrelevant for this question 据她说 这个循环至少会执行一次 但它没有执行
  • Android 仅当 RecycleView/List 大于屏幕时才 setStackFromEnd

    我有一个 RecyclerView 我想开始显示底部项目 所以我使用 myLayoutManager setStackFromEnd true 当有足够的项目填满屏幕时 它的工作方式正如我想要的那样 但是如果 RecyclerView 中只
  • Guid 作为 RavenDB 中的 Id

    The RavenDb 文档 http ravendb net docs client api basic operations saving new document状态 支持数字或 Guid Id 属性 并且可以无缝工作 在这种情况下
  • 将我的图像置于 ul li div 中心

    我在页脚中放置了一张图像 我希望它居中 但我不会工作 我希望我的图像居中 所以我希望有人可以帮助我看看我的代码 HTML div class center ul li a href target blank class centering
  • VS2019 Xamarin Forms 远程 IOS 模拟器黑屏 - 如何修复?

    Xamarin 表单项目微软 Visual Studio 2019 版本 16 9 Mac 上的 Xcode 版本 12 4 使用运行14 4的iPad Pro 11英寸作为模拟设备和IOS版本 我尝试过其他模拟器 如果我在 Mac 上构建
  • 为什么我的 Rails 初始化程序在控制台中缓存 ENV 变量(Foreman、Dev env)

    起初的小烦恼现在变成了令人头痛的事情 我正在构建一个 Rails 4 应用程序 并使用 Foreman 进行开发设置 并使用 Procfile 和 env 文件进行配置 当我在 env 文件中设置 ENV 变量时 我的应用程序会正确拾取它
  • 将输出从 terraform 传递到 Azure Devops Pipeline,并在 azure 后端存储中使用状态文件

    我似乎无法检索 Terraform 的公共 IP 地址输出以用于 AzureDevops 中构建管道的下一步 Terraform 状态拉动工作并输出到 json 文件 无法对输出进行 grep Terraform state show op