azure 使用变量组自动将应用程序设置添加到Terraform

92dk7w1h  于 2023-02-25  发布在  其他
关注(0)|答案(1)|浏览(142)

我正在使用Azure DevOps和Terraform将多个应用服务部署到Azure,但我的应用服务的应用设置每次都在更改,所以我不得不手动将它们添加到变量组和我的Terraform配置,这真的很烦人,也很浪费时间,所以我希望当我将它们添加到变量组时,它会自动添加到Terraform配置。

11dmarpk

11dmarpk1#

使用变量组将应用程序设置自动添加到Terraform:
可以,您可以在Azure Devops中创建变量组,并使用Terraform配置访问它。
你可以尝试下面的terraform代码来实现同样的效果。我已经添加了locals块来定义值,并将其传递到azurerm_appserviceapp_settings块来访问变量。

terraform {
  required_providers {
    azurerm = {
      source = "hashicorp/azurerm"
      version = "3.44.1"
    }
  }
}
locals{
app_settings = {
key1 = var.value
key2 = var.value
}
}
provider "azurerm"{
features{}
}
resource "azurerm_resource_group" "example" {
  name     = "example-resources"
  location = "West Europe"
}

resource "azurerm_app_service_plan" "example" {
  name                = "example-appserviceplan"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name

  sku {
    tier = "Standard"
    size = "S1"
  }
}

resource "azurerm_app_service" "example" {
  name                = "example-app-service"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  app_service_plan_id = azurerm_app_service_plan.example.id

  site_config {
    dotnet_framework_version = "v4.0"
    scm_type                 = "LocalGit"
  }

  app_settings = local.app_settings
}

应用以上配置后,Terraform成功初始化:

或者,您可以使用管道将设置推送到应用配置,如MsDoc中所述。

相关问题