azurerm_function_app 瞬态错误 - “不支持操作:不支持 RepoUrl VSTSRM”

时间:2021-01-28 11:25:21

标签: azure azure-devops terraform-provider-azure azure-function-app

我通过 Terraform 创建了一个 azure 函数应用,然后通过 Azure DevOps CI 和 CD 管道将函数应用的源代码部署到其中。

接下来,我已经部署了 Terraform 脚本并进行了一些修改,然后在第一次执行时出现以下错误。但是,如果我重新部署了那些 TF 脚本,则不会出现以下错误:

<块引用>

错误:无法为“”(资源组“”)创建应用服务源代码管理:web.AppsClient#CreateOrUpdateSourceControl:发送请求失败:StatusCode=400 -- 原始错误:Code="BadRequest" Message="Operation not支持:不支持 RepoUrl VSTSRM。”详细信息=[{"Message":"不支持操作:不支持 RepoUrl VSTSRM。"},{"Code":"BadRequest"},{"ErrorEntity":{"Code":"BadRequest","ExtendedCode": "51024","Message":"不支持操作:不支持 RepoUrl VSTSRM。","MessageTemplate":"不支持操作:{0}","Parameters":["不支持 RepoUrl VSTSRM。"]} }]

我正在使用以下 terraform 配置:

 terraform {
  required_version = ">=0.14"
  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "~>2.40.0"
    }
}

Function App terraform 配置文件:

resource "azurerm_function_app" "function_app" {
  name                       = var.fn_name
  resource_group_name        = var.rg_name
  location                   = var.location
  tags                       = var.tags
  app_service_plan_id        = var.app_service_plan_id
  storage_account_name       = var.sa_name
  storage_account_access_key = var.sa_primary_access_key

  version = var.runtime_version

  enabled    = var.enabled
  https_only = var.https_only

  client_affinity_enabled = var.client_affinity_enabled

  app_settings = {
    FUNCTIONS_WORKER_RUNTIME       = "dotnet"
    WEBSITE_NODE_DEFAULT_VERSION   = "10.14.1"
    FUNCTION_APP_EDIT_MODE         = "readonly"
    WEBSITE_RUN_FROM_PACKAGE       = "1"
    APPINSIGHTS_INSTRUMENTATIONKEY = var.instrumentation_key
  }
  identity {
    type         = var.identity_type
    identity_ids = var.identity_type == "UserAssigned" ? var.identity_ids : null
  }
  site_config {
    always_on = var.always_on
    scm_type  = "None"
    cors {
      allowed_origins     = var.cors_allowed_origins
      support_credentials = var.cors_support_credentials
    }
  }
  lifecycle {
    ignore_changes = [
      app_settings["WEBSITE_RUN_FROM_PACKAGE"],
      site_config["scm_type"]
    ]
  }
}

重现步骤:

  1. 部署 terraform 配置
  2. 通过 azure devops 应用服务任务部署函数应用代码
  3. 对 terraform 配置进行调整(这甚至可能是可选的)
  4. 重新部署地形

在这里发布问题之前,我在谷歌上花了很多时间在这个问题上,然后发现与这个问题相关的文章很少。但问题依旧。

azurerm_app_service transient error - "RepoUrl VSTSRM is not supported"

那么,请您建议我如何解决上述错误。

0 个答案:

没有答案
相关问题