【发布时间】:2020-10-26 06:58:07
【问题描述】:
我在 Ubuntu Azure VM 上设置了 Terraform Enterprise,并将其与 Service Now 和 Azure Dev Ops 集成。每当在 Service Now 中使用特定目录项创建新票证时,就会配置 terraform 工作区并使用传递的变量值开始运行。 terraform 代码在 Ubuntu18.04 Azure VM 上运行。我有一个要求,我需要使用“Local-Exec”配置程序运行 Az 命令,以在已经安装了自定义脚本扩展的 VM 上安装它,并且需要在该 VM 上运行 powershell。我正在使用下面的代码。
provisioner "local-exec" {
command = <<EOH
az login --identity
az account set --subscription=${local.subscription_id}
az vm extension set --resource-group ${data.azurerm_resource_group.rg.name} --vm-name ${var.azure_vm_name} --name CustomScriptExtension --publisher Microsoft.Compute --extension-instance-name CustomScriptExtension --settings .//settings.json --version 1.9 --force-update
EOH
interpreter = ["pwsh","-command"]
}
我已经在我的 Ubuntu 机器上安装了 PowerShell Core,它位于此处 - /usr/bin/pwsh 在我的机器上。
每当我触发运行时,它都会失败并显示以下错误消息。
Error: Error running command ' az login --identity
az account set --subscription=<My Subscription ID>
az vm extension set --resource-group <my resource group> --vm-name <VM Name> --name CustomScriptExtension --publisher Microsoft.Compute --extension-instance-name CustomScriptExtension --settings .//settings.json --version 1.9 --force-update
exec: "pwsh": executable file not found in $PATH. Output:
有没有人遇到过同样的问题,或者有人可以帮我解决这个问题吗?
【问题讨论】:
标签: terraform terraform-provider-azure