我开始使用 Terraform,我有一个由“terraform init/apply”创建的 .terraform 文件夹,其中包含:
我应该版本这些文件吗?我会说不...
该.terraform目录是一个本地缓存,Terraform 会在其中保留一些文件,以便针对此配置进行后续操作。其内容不打算包含在版本控制中。
但是,您可以通过在配置中指定某些内容来通知 Terraform 将在其中放置的内容,从而确保您可以在其他系统上忠实地复制此目录:
使用required_providers的terraform块指定谷歌云平台提供商的确切版本约束:
terraform {
required_providers {
google = "3.0.0"
}
}
Run Code Online (Sandbox Code Playgroud)
(这与.terraform/plugins目录有关)
在您调用的每个模块中(目前似乎没有,但可能在未来),确保它source引用一个确切的版本而不是一个浮动分支(对于 VCS 模块)或设置version为一个确切的版本(对于来自Terraform Registry 的模块)):
module "example"
source = "git::https://github.com/example/example.git?ref=v2.0.0"
# ...
}
Run Code Online (Sandbox Code Playgroud)
module "example"
source = "hashicorp/consul/aws"
version = "v1.2.0
}
Run Code Online (Sandbox Code Playgroud)
(这与.terraform/modules目录有关)
如果您使用的是远程后端,请在backend块内的terraform块中包含完整配置,而不是使用 的-backend-config参数terraform init。
(这与.terraform/terraform.tfstate文件有关,该文件会记住您的活动后端配置以供以后操作)
| 归档时间: |
|
| 查看次数: |
1723 次 |
| 最近记录: |