Azure devops VSTS:我可以从发布定义访问构建变量吗?

Azure devops VSTS:我可以从发布定义访问构建变量吗?,azure-devops,azure-pipelines,azure-pipelines-release-pipeline,Azure Devops,Azure Pipelines,Azure Pipelines Release Pipeline,在VSTS CI/CD中,我正在CI中的Powershell任务中设置某个变量的值。 在CD期间,我想访问该变量的值来做一些事情,比如echo 这可能吗?如果是,怎么做 您可以将其写入一个json/xml文件,并将该文件包含在发布的构建定义工件中。然后通过PowerShell在发布定义中读取该文件 converttojson |输出文件“File.Json” 获取内容“file.json”| convertfromjson对于VST本身,它不能将变量从构建持续到发布 解决方法是将变量的值存储在

在VSTS CI/CD中,我正在CI中的Powershell任务中设置某个变量的值。 在CD期间,我想访问该变量的值来做一些事情,比如echo


这可能吗?如果是,怎么做

您可以将其写入一个json/xml文件,并将该文件包含在发布的构建定义工件中。然后通过PowerShell在发布定义中读取该文件

converttojson |输出文件“File.Json”

获取内容“file.json”| convertfromjson
对于VST本身,它不能将变量从构建持续到发布

解决方法是将变量的值存储在变量组中,并将变量组链接到您的发布定义中。具体步骤如下:

  • 在生成过程中,您可以使用名称
    group-$(build.BuildId)
    ,并将要传输的变量存储在变量组中

  • 在发布期间,您可以首先在变量
    组-$(Build.BuildId)
    下过滤变量。在发布的最后


此外,如果工件类型是针对您的发布定义构建的,那么您还可以将变量值存储在文件中,然后将文件发布为构建工件(正如Calidus所说)。

查看Azure DevOps扩展

在“构建管道”中,您可以使用“保存变量”创建JSON文件。此文件需要作为工件或与现有工件一起发布


在“发布管道”中,您可以使用JSON文件中的“加载变量”还原变量。

如果您发布多个版本,这难道不会导致潜在问题吗?因为上一个版本将覆盖上一个版本的变量。是的,有可能在发布前覆盖变量并解析变量的前一个值。我更新了我的答案,在构建定义中创建变量组,并在发布定义中删除它。然后值是save to transfer。您现在可以成功地将变量从构建转移到发布吗?