在 Azure Pipeline 中运行的 Terraform 尝试安装 azcli 提供程序

Posted

技术标签:

【中文标题】在 Azure Pipeline 中运行的 Terraform 尝试安装 azcli 提供程序【英文标题】:Terraform running in Azure Pipeline attempting to install azcli provider 【发布时间】:2021-02-06 14:13:28 【问题描述】:

我正在 Azure Pipeline 中运行 Terraform(我有这样做的经验),并且出于某种原因,初始化步骤正在尝试为 azcli 安装提供程序,我认为它不存在。当我在本地计算机上运行 Terraform 时,不会发生这种情况。

我的提供者文件是:

terraform 
  required_version = ">=0.13"

 backend "azurerm" 
   container_name = "tfstate"
   key            = "terraform.tfstate"
 

 required_providers 
   grafana = 
   source  = "grafana/grafana"
   version = "=1.5.0"
   
  

这是我看到的错误:

我不确定 Terraform 为什么要尝试安装 azcli 提供程序;我认为它甚至不存在。有人见过这个吗?

【问题讨论】:

嗨,这个问题怎么样?下面的答案是否解决了您的问题?如果没有,请告诉我有关此问题的最新信息吗? 【参考方案1】:

Terraform searches directly and indirectly 用于初始化时的提供者。资源名称或提供者定义中可能存在错误。在您的代码库中搜索 azcli。

▶ cat .\main.tf
resource "azcli_test" "test" 
    test = "true"


~\projects\test\t5                                                                                                                            ◷ 10:10:21 AM
▶ C:\Users\pearcec\bin\terraform init

Initializing the backend...

Initializing provider plugins...
- Finding latest version of hashicorp/azcli...

Error: Failed to install provider

Error while installing hashicorp/azcli: provider registry
registry.terraform.io does not have a provider named
registry.terraform.io/hashicorp/azcli

~\projects\test\t5                                                                                                                            ◷ 10:10:23 AM
▶ cat .\main.tf
provider "azcli" 
  features 


~\projects\test\t5                                                                                                                            ◷ 10:13:41 AM
▶ C:\Users\pearcec\bin\terraform init

Initializing the backend...

Initializing provider plugins...
- Finding latest version of hashicorp/azcli...

Error: Failed to install provider

Error while installing hashicorp/azcli: provider registry
registry.terraform.io does not have a provider named
registry.terraform.io/hashicorp/azcli

▶ cat .\main.tf
terraform 
  required_providers 
    azcli = 
      source  = "-/azcli"
    
  


~\projects\test\t5                                                                                                                            ◷ 10:16:09 AM
▶ C:\Users\pearcec\bin\terraform init

Initializing the backend...

Initializing provider plugins...
- Finding latest version of -/azcli...

Error: Failed to query available provider packages

Could not retrieve the list of available versions for provider -/azcli:
provider registry registry.terraform.io does not have a provider named
registry.terraform.io/-/azcli

【讨论】:

以上是关于在 Azure Pipeline 中运行的 Terraform 尝试安装 azcli 提供程序的主要内容,如果未能解决你的问题,请参考以下文章

在群集上运行网格搜索 CV 时 Azure ML Pipeline 失败

Azure ML Studio ML Pipeline - 异常:未找到临时文件

Azure Pipeline Selenium 测试筛选器不起作用

Azure Release Pipeline 的下载结果

如何在任何分支上的每次新推送时触发 Azure Pipeline?

如何从 Azure DevOps Pipeline 读取 Azure 文件共享文件