我正在尝试执行 terraform 脚本来创建 ec2 并使用输出变量概念我想获取 ec2 公共 ip 并将其分配给一个变量并将其传递给另一个任务。但我发现使用 bash 或脚本的输出变量在 azure pipeline yml 中不起作用。我正在使用ubuntu代理。
- script: COMMAND=$(cat terraform.tfstate | grep 'public_ip"' | cut -d":" -f2 | cut -d'"' -f2) && echo "##vso[task.setvariable variable=ec2ip;]$COMMAND" && echo $ec2ip
Run Code Online (Sandbox Code Playgroud)
但我认为打印没有任何价值。不确定 task.setvariable 是否有效。需要一些帮助来解决这个问题。
Lev*_*SFT 15
您无法在同一脚本任务中回显新变量的值。由语句设置的新变量task.setvariable仅在后续任务中可用。
您可以将后续脚本任务添加到 echo 变量ec2ip。$()然后您可以通过将其包装在(ie. )中来检索它的值$(ec2ip)。请查看文档定义变量以获取更多信息。
- script: COMMAND=$(cat terraform.tfstate | grep 'public_ip"' | cut -d":" -f2 | cut -d'"' -f2) && echo "##vso[task.setvariable variable=ec2ip;]$COMMAND"
- script: echo "$(ec2ip)"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5173 次 |
| 最近记录: |