Azure devops VSTS:我可以从发布定义访问构建变量吗?
在VSTS CI/CD中,我正在CI中的Powershell任务中设置某个变量的值。 在CD期间,我想访问该变量的值来做一些事情,比如echoAzure 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本身,它不能将变量从构建持续到发布 解决方法是将变量的值存储在
这可能吗?如果是,怎么做 您可以将其写入一个json/xml文件,并将该文件包含在发布的构建定义工件中。然后通过PowerShell在发布定义中读取该文件
converttojson |输出文件“File.Json”
获取内容“file.json”| convertfromjson
对于VST本身,它不能将变量从构建持续到发布
解决方法是将变量的值存储在变量组中,并将变量组链接到您的发布定义中。具体步骤如下:
- 在生成过程中,您可以使用名称
,并将要传输的变量存储在变量组中group-$(build.BuildId)
- 在发布期间,您可以首先在变量
下过滤变量。在发布的最后组-$(Build.BuildId)
此外,如果工件类型是针对您的发布定义构建的,那么您还可以将变量值存储在文件中,然后将文件发布为构建工件(正如Calidus所说)。查看Azure DevOps扩展 在“构建管道”中,您可以使用“保存变量”创建JSON文件。此文件需要作为工件或与现有工件一起发布
在“发布管道”中,您可以使用JSON文件中的“加载变量”还原变量。如果您发布多个版本,这难道不会导致潜在问题吗?因为上一个版本将覆盖上一个版本的变量。是的,有可能在发布前覆盖变量并解析变量的前一个值。我更新了我的答案,在构建定义中创建变量组,并在发布定义中删除它。然后值是save to transfer。您现在可以成功地将变量从构建转移到发布吗?