是否应该将 terragrunt 生成的文件添加到源代码管理中?

问题描述 投票:0回答:2

Terragrunt 文档 专门解决了

.terraform.lock.hcl
文件是否应签入源代码控制存储库

对 terragrunt 生成的

.tf
文件有何建议?它们也应该添加到源代码管理中吗?

如果不添加它们,它们似乎只会在下一次初始化/计划/应用期间重新生成。但是,管理

.gitignore
文件似乎也很痛苦,这样开发人员就不必担心他们在编辑过程中没有触及的这些文件。

如果建议将它们添加到源代码管理中,那么开发人员必须确保它们至少运行

terragrunt init
terragrunt plan
,以便 terragrunt 创建/更新它负责的文件。这似乎也不理想。

处理这些文件的“正确”方法是什么?

terragrunt
2个回答
6
投票

请勿将生成的

.tf
文件添加到存储库中。正如您所说,它们将在每次运行时重新生成,因此保留陈旧的文件是没有意义的。只需将
*.tf
添加到存储库根目录中的
.gitignore

有关锁定文件的进一步说明:您可以提交锁定文件,但请注意,这可能会损害跨平台兼容性。因此,如果您在多个平台(例如 MacOS 和 Linux)上运行 terragrunt/terraform,您可能不想签入锁定文件。或者,您可以使用providers lock 命令生成适用于多个平台的锁定文件。例如,要生成与基于 Intel 的 MacBook 和 Linux 兼容的锁定文件:

terragrunt run-all providers lock -platform=darwin_amd64 -platform=linux_amd64

请参阅 https://www.terraform.io/docs/cli/commands/providers/lock.html 了解更多信息。


0
投票

我建议不要将

*.tf
添加到您的
.gitignore
,因为您可能希望/需要存储库中的一些本机 Terraform 功能。

默认情况下,从 Terragrunt 生成的文件应在

.terragrunt-cache
内创建(除非在
path
属性中另有指定),除非在实时调用中未使用 Terraform 块(如此处所述),其中如果它们将与实时通话本身一起创建。

只需将

.terragrunt-cache
添加到
.gitignore
,同时使用 Terraform 块就足够了(如官方 Terragrunt 示例存储库中所示)。

© www.soinside.com 2019 - 2024. All rights reserved.