【问题标题】:Save Azure CLI command Output using inline script in DevOps在 DevOps 中使用内联脚本保存 Azure CLI 命令输出
【发布时间】:2019-07-09 16:31:56
【问题描述】:

我一直在尝试将多个 az cli 命令的输出存储在我的管道中定义的变量中,但 0 成功。

这是我最后一次尝试:

我尝试确保传递给 var 的方法是执行回显,它会输出以下内容(在所有尝试中):

最后,我试图实现的是获取存储的键值以供以后使用:

有关如何在 Azure DevOps Pipeline 的 Azure CLI 任务中执行此操作的任何建议?

PS:正在尝试来自 shell 和批处理的一些命令,并且必须尝试失败与无法识别脚本内的命令(批处理/shell)有关。这在 Azure cli 任务文档中令人困惑:

回答

@4c74356b41 回答帮助很大,因为我不知道我可以在 azure cli 命令中进行查询以获取命令的特定值。但它并没有完全回答我的问题。综上所述,这个链接Set Output Variable in Azure CLI task on VSTS 有我问题的答案。

【问题讨论】:

    标签: azure-devops azure-pipelines azure-cli2


    【解决方案1】:

    只需使用查询路径过滤,如下所示:

    --query 'properties.properties.sites[0].key' -o tsv
    

    这应该只输出你感兴趣的键。阅读:

    https://docs.microsoft.com/en-us/cli/azure/query-azure-cli?view=azure-cli-latest

    【讨论】:

    • 这很有帮助,谢谢。帮助我缩小到那个变量,而不是通过 json obj 循环。我仍然需要将它存储在 azure DevOps 的 azure cli 任务中的变量中,关于如何执行此操作的任何想法?我声明了变量,但无法用“=”分配它。 $var="$(az cli --query 'temp.temp.sites[0]....)
    • 您可以使用将输出保存到变量特征,但遗憾的是,我从未真正使用过它,所以我不知道它是如何工作的,它是任务步骤的最后一个选项
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多