.terraform.lock.hcl应该包含在.gitignore文件中吗?

根据我目前的知识,没有理由.terraform.lock.hcl应该包含在.gitignore. 这个文件没有任何内容是私人的,或者有吗?

回答

根据依赖锁定文件的 Terraform 文档:

每次运行 terraform init 命令时,Terraform 都会自动创建或更新依赖项锁定文件。您应该将此文件包含在您的版本控制存储库中,以便您可以通过代码审查讨论对外部依赖项的潜在更改,就像讨论对配置本身的潜在更改一样。

理解为什么应该提交该文件的关键可以在以下有关依赖项安装行为的部分中找到:

当 terraform init 正在安装配置所需的所有提供程序时,Terraform 会考虑配置中的版本约束和锁定文件中记录的版本选择

如果特定提供程序没有现有的记录选择,Terraform 将选择与给定版本约束匹配的最新可用版本,然后更新锁定文件以包含该选择。

如果某个特定的提供者已经在锁定文件中记录了一个选择,Terraform 将始终重新选择该版本进行安装,即使有更新的版本可用。您可以通过在运行 terraform init 时添加 -upgrade 选项来覆盖该行为,在这种情况下,Terraform 将忽略现有选择并再次选择与版本约束匹配的最新可用版本。

本质上,这是为了让 Terraform 继续使用添加时选择的提供程序的版本。如果您不签入锁定文件,您将始终自动升级到遵守代码约束的最新版本,这可能会导致意想不到的后果。

注意:您可以在执行 init 调用时通过传递 -upgrade 标志来强制 Terraform 升级。

terraform init -upgrade


以上是.terraform.lock.hcl应该包含在.gitignore文件中吗?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>