在VSTS CI / CD中,我在CI中的Powershell任务中设置了一些变量值。 在CD期间我想访问该变量的值来做某事,让我们说回声。
这可能吗?如果是这样,怎么样?
答案 0 :(得分:2)
您可以将其写入json / xml文件,并将该文件包含在已发布的构建定义工件中。然后在发行版定义中通过PowerShell读取该文件。
ConvertTo-Json | Out-File "file.json"
Get-Content "file.json" | ConvertFrom-Json

答案 1 :(得分:2)
对于VSTS本身,它不能将变量从构建持久保存到发布。
解决方法是将变量的值存储在变量组中,并将变量组链接到您的发布定义。详细步骤如下:
在构建过程中,您可以Add a variable group使用名称group-$(Build.BuildId)
,并将要传输的变量存储在变量组中。
在发布期间,您可以先get variable groups,然后在变量group-$(Build.BuildId)
下过滤变量。并且在发布结束时delete the group group。
此外,如果为您的发布定义构建工件类型,您还可以将变量值存储在文件中,然后将该文件发布为构建工件(如Calidus所说)。
答案 2 :(得分:1)
签出Azure DevOps扩展Variable Tools for Azure DevOps Services。
在“构建管道”中,您可以使用“保存变量”创建JSON文件。该文件需要作为工件发布或与现有工件一起发布。
在“发布管道”中,您可以使用JSON文件中的“加载变量”来还原变量。