跳过插件下载 Terraform

Skip plugin downloading Terraform

我在 Azure Pipelines 中使用自托管代理,并在那里安装了 Terraform 0.13。当我在 Azure Devops 中使用 Terraform 任务时,作为命令选项,我选择“-plugin-dir=/usr/local/bin/.terraform.d/plugins”来跳过插件下载。不幸的是,Terraform 将其下载到 artifact 中并使其比应有的重得多。同样,下一阶段(部署阶段)仅使用来自工件的插件,而不是来自我们的代理的插件。 我们的虚拟机上没有太多 space,这就是为什么我们要避免不必要的下载。 此外,我们在插件目录的主目录中定义了 .terraformrc。我们还添加了那里写的环境变量: https://www.terraform.io/docs/commands/cli-config.html#provider-installation

提前致谢!

您可以尝试设置-get-plugins=false选项。

-get-plugins=false — 跳过插件安装。 Terraform 将使用安装在用户插件目录中的插件,以及已为当前工作目录安装的任何插件。如果安装的插件不足以配置,init 会失败。

这在document.

中有说明

最终我用了另一种方式 - 我使用了 Azure Pipelines 中的缓存任务。这是 ITNext 的解决方案: https://itnext.io/infrastructure-as-code-iac-with-terraform-azure-devops-f8cd022a3341

我是这样描述缓存任务的:

描述好密钥,选择正确的路径。