【发布时间】:2020-05-03 15:56:10
【问题描述】:
我一直在查看 terraform docs 和 udemy course 来寻找这个问题的答案,但找不到答案。我有一个 jenkins 管道,它正在使用 terraform 构建 AWS 基础设施。这是使用通过
配置的远程后端terraform {
backend "s3" {}
}
块。我想为本地开发覆盖它,以便使用terraform init 生成本地状态文件。我试过运行terraform init -backend=false,但我意识到这不是我想要的,因为它也没有创建本地后端。我已经看到terraform init -backend=<file> 是一个选项,但是如果我使用它,那么我不知道在文件中放入什么来指示默认的本地后端配置。我找到了这篇文章override files,但它并没有让我相信这个功能存在于这个特定用例的 terraform 中。我想确保我以正确的方式做到这一点。如何使用 terraform 中的默认本地后端配置覆盖远程后端配置?谢谢。
【问题讨论】:
-
附言。我首先这样做的原因是我可以针对 localstack 运行 terraform 来创建 AWS 基础设施。
-
为什么不直接删除后端配置块?
-
我不能,因为那会破坏 terraform 管道。
-
您的测试可以删除它,对吧?因此,在测试作业中,您只需删除包含后端配置的文件或将块从更大的文件中取出,但不要将该更改推回。然后您的测试使用本地状态文件针对 localstack 运行。或者,为什么不使用 S3 后端并将状态文件粘贴到 localstack 的 S3 后端?
-
@ydaetskcoR 你是说在测试代码中,删除后端文件?我不想那样做,因为它似乎有潜在的问题。此外,我们不能将 localstack 中的 s3 存储桶用于 tfstate 文件,因为 s3 在我们的 AWS 环境中是不受 terraform 管理的。
标签: terraform