Tfenv: 进入带有 .terraform-version 的目录时,不要全局更改 tfenv 版本

创建于 2019-10-11  ·  4评论  ·  资料来源: tfutils/tfenv

不知道如何更好地恢复它 x)

如果您将 tfenv 版本设置为 0.11.14 并输入一个 .terraform-version 指向 0.12.4 的目录,它会全局更改 tfenv 版本。 这意味着当您离开该目录时,它不会将 tfenv 版本恢复为 0.11.14,而是保持 0.12.4 版本。 我认为它应该将其作为默认行为。

PD:tfenv 很酷,谢谢你的工作!

最有用的评论

在mac上,/usr/local/bin/terraform的机制造成了这个问题。 tfenv 应该为环境中正确版本的 terraform 设置 PATH 或类似设置,而不是在全局作用的 FS 上创建符号链接或其他文件。

这样做意味着无法使用此工具运行具有不同版本的并发 terraform 调用。

(当然你知道无论如何,但那是我的问题 - 这意味着我根本不能将 tfenv 用于 CI)

所有4条评论

认为这与解决我们如何处理版本文件和use命令的另一张票有关。 它在名单上。

在mac上,/usr/local/bin/terraform的机制造成了这个问题。 tfenv 应该为环境中正确版本的 terraform 设置 PATH 或类似设置,而不是在全局作用的 FS 上创建符号链接或其他文件。

这样做意味着无法使用此工具运行具有不同版本的并发 terraform 调用。

(当然你知道无论如何,但那是我的问题 - 这意味着我根本不能将 tfenv 用于 CI)

在 v2.0.0 中没有解决这个问题(环境操作而不是系统级默认值),因为 2.0.0 是一个已经稳定的重大重写; 也许会在 v2.1.0 中查看它。

需要并行执行的 CI 配置的两种解决方案:

  1. 您可以使用 .terraform-version 文件。 不需要use命令,只需使用 CI 执行独有的 .terraform-version 文件执行terraform即可。
  2. 在 CI 执行环境中克隆 TFENV_ROOT,因为您可以拥有任意数量的 tfenv 安装,并且您的路径指向的那个不受其他人的影响。 tfenv 的总大小非常小。

有关 2.0.0 候选版本,请参阅https://github.com/tfutils/tfenv/tree/v2.0.0-beta1 。 现在不会覆盖 .terraform-version 文件。

此页面是否有帮助?
0 / 5 - 0 等级