[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

使用 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!

如果您觉得这篇文章有帮助,请点赞!
0
加载中...
0 票,平均:0.00 / 10
17,385
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

写这篇文章的人

关于作者

寺冈由纪

于 2016 年加入 Beyond,目前是他担任基础设施工程师
MSP 的第六个年头,他负责排除故障,同时
使用 AWS 等公共云设计和构建基础设施。
最近,我
一直在使用 Terraform 和 Packer 等 Hashicorp 工具作为构建 Docker 和 Kubernetes 等容器基础设施以及自动化操作的一部分,并且我
还扮演了在外部学习小组和研讨会上发言的传播者的角色。

・GitHub
https://github.com/nezumisannn

・演示历史
https://github.com/nezumisannn/my-profile

・演示材料(SpeakerDeck)
https://speakerdeck.com/nezumisannn

・认证:
AWS认证解决方案架构师-
谷歌云专业云架构师