如何在Azure上使用Terraform部署应用程序服务

时间:2018-11-06 21:27:30

标签: azure terraform

我想使用Terraform创建azure应用服务。

resource "azurerm_app_service" "one-app-sts" {
  name                = "${var.environment}-one-app-sts"
  location            = "${var.location}"
  resource_group_name = "${azurerm_resource_group.one.name}"
  app_service_plan_id = "${azurerm_app_service_plan.one.id}"

  app_settings {
    "Serilog:WriteTo:0:Args:workspaceId" = "${azurerm_log_analytics_workspace.one.workspace_id}"
  }

  tags {
    environment = "${var.environment}"
    source      = "terraform"
  }
}

对于测试,应将其命名为 test-one-app-sts ,对于生产环境,应将其命名为 prod-one-app-sts 。 我试图用tfvar文件注入变量,但是terrafrom计划重命名服务而不是创建新服务。

我将如何以某种方式制作脚本,以便可以根据需要创建/销毁尽可能多的不同环境(开发,测试,上一个版本,一个产品,一个产品)?

PS>示例用于服务,但我也有服务总线,数据库,作为环境一部分的功能,应重新创建/销毁。

1 个答案:

答案 0 :(得分:0)

好吧,弄清楚了:工作区是一个答案https://www.terraform.io/docs/state/workspaces.html

我可以部署环境的任意数量的副本=)

terraform workspace new test

将创建新状态,仅用于测试。