【发布时间】:2021-06-30 06:26:12
【问题描述】:
我使用 terraform 创建了一个 YML 管道。 它使用脚本任务并在输出中返回 Web 应用程序名称
steps:
- script: |
[......]
terraform apply -input=false -auto-approve
# Get the App Service name for the dev environment.
WebAppNameDev=$(terraform output appservice_name_dev)
# Write the WebAppNameDev variable to the pipeline.
echo "##vso[task.setvariable variable=WebAppNameDev;isOutput=true]$WebAppNameDev"
name: 'RunTerraform'
任务运行良好,但是当我部署 web 应用程序时它崩溃了,因为似乎变量 $WebAppNameDev 有双引号。
- task: AzureWebApp@1
displayName: 'Azure App Service Deploy: website'
inputs:
azureSubscription: 'MySubscription'
appName: $(WebAppNameDev)
package: '$(Pipeline.Workspace)/drop/*.zip'
错误看起来像:
Got service connection details for Azure App Service:'"spikeapp-dev-6128"'
##[error]Error: Resource '"spikeapp-dev-6128"' doesn't exist. Resource should exist before deployment.
如何删除双引号或修复 terraform 输出?
【问题讨论】:
-
The terraform docs 建议在自动化脚本中使用环境变量
TF_IN_AUTOMATION时设置它。我不确定这是否能解决问题,但值得一试。 -
谢谢。我做了尝试,但似乎没有任何变化
标签: yaml terraform azure-pipelines