【发布时间】:2021-10-23 19:14:39
【问题描述】:
我希望有人可以帮助我解决这个问题并了解如何实施最佳方法。
我有一个运行大量 azure 服务(sql server、数据库、网络应用等)的生产环境。
所有这些基础设施都是用 terraform 创建的。尽管它功能强大,但出于 1 个原因,我害怕在管道中使用它。
我的一些朋友,他们经常手动对基础设施进行一些更改,并且在我的 terraform 状态中没有这些更改,如果我将这个过程自动化,它可能会不优雅地破坏资源,这是我不会做的想面对。
所以我想知道是否有人可以对以下问题有所了解:
是否可以让 terraform 在每次推送到 GitHub 时自动检查基础设施状态,并在计划的输出报告任何更改时退出?
更改以明确我的示例。
假设我有一个 terraform 状态,我有 2 个 Web 应用程序,有人在该资源组上手动创建了一个 3 个 Web 应用程序,它开发了一些代码并将其推送到 GitHub。我的管道触发器,作为第一步,我有运行terraform plan 和/或terraform apply 的terraform,如果此命令报告任何更改,我希望它退出管道(失败),所以我会知道那里有新的东西,如果terraform plan 和/或terraform apply 返回there are no changes to the infra, is up to date 继续代码部署。
提前感谢您的帮助和澄清。
【问题讨论】: