是否可以读取 Azure Pipelines 脚本返回的数据或将其保存在变量中?

Posted

技术标签:

【中文标题】是否可以读取 Azure Pipelines 脚本返回的数据或将其保存在变量中?【英文标题】:Is it possible to read or save in a variable the data returned by an Azure Pipelines script? 【发布时间】:2020-01-20 07:37:56 【问题描述】:

我有一个 Azure Devops Pipeline,它有一个这样的任务脚本:

steps:
  - script: python settings.py

此脚本“返回”(内部生成 print('...'))一个值,我想在管道期间保存以供以后使用,但我找不到方法。

我尝试过记录,但我认为不可能:

steps:
  - script: echo '##vso[task.setvariable variable=version]'$python settings.py

是否有可能以任何方式或没有人能够做到这一点?

谢谢。

【问题讨论】:

只要你输出到标准输出,这应该可以工作,但我认为它应该是echo '##vso[task.setvariable variable=version]'$(python settings.py) @ToniMiguelLópez,由于下面的答案解决了您的问题,您可以 Accept it as an Answer ,这样它可以帮助遇到同样问题的其他社区成员,我们可以存档这个帖子,谢谢。 对不起!我以为我已经做到了。感谢@LeoLiu-MSFT 的提醒 【参考方案1】:

您可以在 python 脚本中添加此代码以保存该值以供以后在管道中使用。想法是将其输出到控制台,VSTS 会自动将其保存在变量 - 版本下。

print('##vso[task.setvariable variable=version;]%s' % (version))

【讨论】:

以上是关于是否可以读取 Azure Pipelines 脚本返回的数据或将其保存在变量中?的主要内容,如果未能解决你的问题,请参考以下文章

我可以通过 CLI 验证 azure-pipelines.yml 文件吗?

如何在 azure-pipelines 中使用公钥对某些内容进行 scp?

Azure Pipelines:在 Powershell 中设置和访问变量

如何在 Azure ADF Pipelines 中更改 ADF 接收器数据集 Parquet 文件数据类型

对 Azure Boards 和 Azure Pipelines 使用相同的名称

Azure Pipelines 中的多行字符串