yaml - 如何删除 Terraform 双引号?
问题描述
我使用 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'
该任务工作正常,但是当我部署 webapp 时它崩溃了,因为似乎变量$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 输出?
解决方案
我通过--raw
向 terraform 输出添加参数来解决。
WebAppNameDev=$(terraform output --raw appservice_name_dev)
推荐阅读
- c - 从标准输入读取各种输入
- css - 在右侧显示嵌套组件,在左侧显示父级
- php - 如何用新的自建php加载数据
- javascript - 将值从数据传递到变量
- svg - 所有 fillTexted 文本都挤在 HTML5 画布中的一个位置
- ios - iOS 在没有远程服务器的情况下实现 NETunnelProviderProtocol
- java - 有没有办法让我重新输入错误的输入?
- javascript - javascript验证html注册表,但没有响应
- python - 如何在python中循环block_blob_service.copy_blob
- visual-studio-code - VS Code - 使用自动换行,使“在上方/下方添加光标”选择下一个“真实”行