使用 tfenv 切换 Terraform 版本
目录
我叫寺冈,是一名基础设施工程师。
这次,我将向您展示如何使用 tfenv 切换 Terraform 版本。
1.什么是tfenv?
tfenv是一个允许您使用 CLI 切换 Terraform 运行版本的工具。
有些人可能已经注意到,因为名称相似,但
它的灵感来自
rbenv 目前处于 alpha 状态,但近期将发布
0.12 现在使用 tfenv 可以随时切换版本可能会很方便。
2.安装tfenv
从 github 克隆并传递路径。
$ git clone https://github.com/tfutils/tfenv.git ~/.tfenv $ echo 'export PATH="$HOME/.tfenv/bin:$PATH"' >> ~/.bash_profile $ source ~/. bash_配置文件
3.如何使用tfenv
命令列表
$ tfenv tfenv 0.6.0-16-g4475b71 用法:tfenv<command> [<options> ] 命令: install 安装特定版本的 Terraform use 切换版本以使用 uninstall 卸载特定版本的 Terraform list 列出所有已安装的版本 list-remote 列出所有可安装的版本
安装(0.11)
$ tfenv install 0.11.11 [INFO] 安装 Terraform v0.11.11 [INFO] 从 https://releases.hashicorp.com/terraform/0.11.11/terraform_0.11.11_linux_amd64.zip 下载发行版 tarball ####### ################################################## # ############## 100.0% [INFO] 从 https://releases.hashicorp.com/terraform/0.11.11/terraform_0.11.11_SHA256SUMS 下载 SHA 哈希文件 tfenv: tfenv-install : [警告] 未找到密钥库安装,跳过 GPG 签名验证 存档:tfenv_download.s1KQnc/terraform_0.11.11_linux_amd64.zip 膨胀:/root/.tfenv/versions/0.11.11/terraform [信息] terraform v0.11.11 安装成功 [ INFO] 切换到 v0.11.11 [INFO] 切换完成
已安装版本列表
$ tfenv list * 0.11.11(由/root/.tfenv/version设置)
如果完成此步骤后运行 Terraform,
您将能够使用随 tfenv 安装的版本。
$ terraform --版本 Terraform v0.11.11
我想尝试使用 0.12 而不是 0.11。
我会尝试切换版本。
安装(0.12)
$ tfenv install 0.12.0-alpha4 [INFO] 安装 Terraform v0.12.0-alpha4 [INFO] 从 https://releases.hashicorp.com/terraform/0.12.0-alpha4/terraform_0.12.0-alpha4_terraform_0.12.0 下载版本 tarball -alpha4_linux_amd64.zip ############################################## # ######################## 100.0% [INFO] 从 https://releases.hashicorp.com/terraform/0.12 下载 SHA 哈希文件。 alpha4/terraform_0.12.0-alpha4_SHA256SUMS tfenv:tfenv-install:[警告]未找到密钥库安装,跳过 GPG 签名验证存档:tfenv_download.gut3iL/terraform_0.12.0-alpha4_terraform_0.12.0-alpha4_linux_amd64.zip 提取:/root/。 versions/0.12.0-alpha4/terraform 提取:/root/.tfenv/versions/0.12.0-alpha4/terraform-provider-aws_v1.40.0-6-gb23683732-dev_x4 提取:/root/.tfenv/versions/ 0.12。 0-alpha4/terraform-provider-azurerm_v1.17.0-5-ga3b48ba3-dev_x4 提取:/root/.tfenv/versions/0.12.0-alpha4/terraform-provider-google_v1.19.1-3-g59efc8b9-dev_x4 提取:/root /.tfenv/versions/0.12.0-alpha4/terraform-provider-oci_v3.9.0-3-ga5859820-dev_x4 提取:/root/.tfenv/versions/0.12.0-alpha4/terraform-provider-null_v1.0.0 -5 -gf54ff98-dev_x4 提取:/root/.tfenv/versions/0.12.0-alpha4/terraform-provider-template_v1.0.0-5-g317c9c9-dev_x4 提取:/root/.tfenv/versions/0.12.0-alpha4 /terraform -provider-random_v2.0.0-5-g612dff2-dev_x4 提取:/root/.tfenv/versions/0.12.0-alpha4/terraform-provider-local_v1.1.0-5-ga2df742-dev_x4 [信息] terraform v0 .12.0 的安装-alpha4 成功 [INFO] 切换到 v0.12.0-alpha4 [INFO] 切换完成
已安装版本列表
$ tfenv list * 0.12.0-alpha4 (由 /root/.tfenv/version 设置) 0.11.11
看来0.12已经加载了,所以我会尝试运行Terraform。
$ terraform --version Terraform v0.12.0-alpha4 (2c36829d3265661d8edbd5014de8090ea7e2a076)
看来已经换了。
当然,恢复到0.11也是可以的。
切换版本
$ tfenv use 0.11.11 [INFO] 切换到 v0.11.11 [INFO] 切换完成 $ terraform --version Terraform v0.11.11
另外,rbenv也有类似的功能,但
你也可以只针对特定目录更改版本。
将名为“.terraform-version”的文件放入要更改的目录中。
版本切换(特定目录)
$ tfenv list 0.12.0-alpha4 * 0.11.11 (由 /root/.tfenv/version 设置) $ pwd /opt/tfenv-version-test $ echo 0.12.0-alpha4 > .terraform-version $ terraform 版本 Terraform v0 .12.0-alpha4 (2c36829d3265661d8edbd5014de8090ea7e2a076)
当我查看tfenv列表时,它是0.11.11,但是
0.12.0被加载到.terraform-version所在的目录中。
如果你返回一个目录并查看版本,当然会加载 0.11.11。
$ cd ../ $ terraform 版本 Terraform v0.11.11
4.总结
使用 tfenv,您可以轻松地从 CLI 切换版本。
- 新版本试运行及运行测试
- 使用依赖于特定版本的插件
我认为这在那个场景中会非常有用。
我非常期待 Terraform 0.12 的正式发布。
大家请尝试使用tfenv!
如果您觉得这篇文章有帮助,请点赞!