我试图执行terraform脚本来创建ec2,并使用输出变量的概念,我想获取ec2公共ip并将其分配给变量并将其传递给另一个任务。但是我看到使用bash或脚本的输出变量在azure管道yml中不起作用。我正在使用Ubuntu代理。
答案 0 :(得分:0)
您不能在同一脚本任务中回显新变量的值。语句task.setvariable
设置的新变量仅在后续任务中可用。
您可以添加后续脚本任务以回显变量ec2ip
。然后通过将其包装在$()
(即$(ec2ip)
)中来检索其值。请查看文档Define vairables,以了解更多信息。
- script: COMMAND=$(cat terraform.tfstate | grep 'public_ip"' | cut -d":" -f2 | cut -d'"' -f2) && echo "##vso[task.setvariable variable=ec2ip;]$COMMAND"
- script: echo "$(ec2ip)"