План Terraform застрял на задаче Terraform:Plan в конвейере ADO

План Terraform застрял на задаче Terraform:Plan в конвейере ADOI я пытаюсь перейти по ссылке ниже, чтобы развернуть службу приложений с помощью Terraform через Azure Dev Ops Pipeline.

AzureDevOpsLabs

Мои файлы terraform приведены ниже:

webapp.tf

terraform {
  required_version = "~> 1.0" 
  backend "azurerm" {
    storage_account_name = "__terraformstorageaccount__"
    container_name       = "terraform"
    key                  = "terraform.tfstate"
    }
}

provider "azurerm" {
  tenant_id       = var.tenant_id
  client_id       = var.client_id
  client_secret   = var.client_secret
  subscription_id = var.subscription_id
  features {}
}

resource "azurerm_resource_group" "dev" {
  name     = var.resource_group_name
  location = var.resource_group_location
}

resource "azurerm_app_service_plan" "dev" {
  name                = var.appserviceplan
  location            = var.resource_group_location
  resource_group_name = var.resource_group_name

  sku {
    tier = "Free"
    size = "F1"
  }
  depends_on = [
    azurerm_resource_group.dev
  ]
}

resource "azurerm_app_service" "dev" {
  name                = var.appservicename
  location            = azurerm_app_service_plan.dev.location 
  resource_group_name = azurerm_app_service_plan.dev.location
  app_service_plan_id = azurerm_app_service_plan.dev.id
}

вар.tf

variable "client_id" {}

variable "client_secret" {}

variable "tenant_id" {}

variable "subscription_id" {}

variable "appserviceplan" {}

variable "appservicename" {}

variable "resource_group_name" {}

variable "resource_group_location" {}

Фактические значения указаны в переменных конвейера.

Я развернул ту же службу приложений напрямую, используя terraform с открытым исходным кодом, и все работало нормально.

Но шаг «Terraform:Plan» застрял в конвейере выпуска, как показано на снимке экрана. Любая идея, почему это происходит, и план не завершается должным образом

План Terraform застрял на задаче Terraform:Plan в конвейере ADO

Я отключил Terraform Init и включил отладку. Но Terraform Apply по-прежнему не работает, и я вижу следующие журналы. Задача никогда не заканчивается

Задача применения Terraform

Exit code 0 received from tool 'C:\hostedtoolcache\windows\terraform\1.1.5\x64\terraform.exe'
STDIO streams have closed for tool 'C:\hostedtoolcache\windows\terraform\1.1.5\x64\terraform.exe'
provider=azurerm
commandOptions=-auto-approve
workingDirectory=C:\hostedtoolcache\windows\terraform
environmentServiceNameAzureRM=a8ee372e-0734-4e50-aa5a-e19d9e5f2a62
which 'terraform'
found: 'C:\hostedtoolcache\windows\terraform\1.1.5\x64\terraform.exe'
which 'C:\hostedtoolcache\windows\terraform\1.1.5\x64\terraform.exe'
found: 'C:\hostedtoolcache\windows\terraform\1.1.5\x64\terraform.exe'
C:\hostedtoolcache\windows\terraform\1.1.5\x64\terraform.exe arg: apply
C:\hostedtoolcache\windows\terraform\1.1.5\x64\terraform.exe arg: -auto-approve
a8ee372e-0734-4e50-aa5a-e19d9e5f2a62 auth param serviceprincipalid = ***
a8ee372e-0734-4e50-aa5a-e19d9e5f2a62 auth param serviceprincipalkey = ***
a8ee372e-0734-4e50-aa5a-e19d9e5f2a62 data subscriptionid = xxxx-xxxx-xxxx
a8ee372e-0734-4e50-aa5a-e19d9e5f2a62 auth param tenantid = xxxx-xxxxxx
a8ee372e-0734-4e50-aa5a-e19d9e5f2a62 auth param serviceprincipalid = ***
a8ee372e-0734-4e50-aa5a-e19d9e5f2a62 auth param serviceprincipalkey = ***
exec tool: C:\hostedtoolcache\windows\terraform\1.1.5\x64\terraform.exe
arguments:
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
0
31
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

При запуске Terraform из неинтерактивного конвейера вы должны добавить флаг -input=false , иначе Terraform зависнет в ожидании пользовательского ввода.

См. документацию здесь: https://www.terraform.io/cli/commands/plan#input-false

Я получаю это сообщение сейчас после того, как указал -input=false в дополнительных аргументах команды в задаче terraform:plan

Pallab 31.03.2022 00:41

Хорошо, после добавления input=false все заработало. Большое спасибо за твою помощь.

Pallab 31.03.2022 01:31

Другие вопросы по теме