在VSTS中发布变量列表

时间:2018-05-22 14:44:55

标签: azure-devops azure-pipelines-release-pipeline

有没有办法列出VSTS中发布的所有变量?

例如,在发布定义中,我无法获得包含变量组变量的列表。

在过去的版本中,我只能在一个视图中列出环境或发布变量,但不能同时列出两者,包括组变量。

例如,在Octopus Deploy中,这是可能的:列出发布中的所有变量。

2 个答案:

答案 0 :(得分:1)

您可以在PowerShell任务中执行以下任何命令,如下所示:

Get-childItem env:
ls env:

然后它将列出所有发布变量,组变量和环境变量等。

注意:

  • 如果您的版本定义中有多个环境,则仅列出您在环境中执行PowerShell任务的环境变量。其他环境中的其他环境变量将不会列出。
  • 如果用户定义的变量名称包含.,则它将在列表输出中转换为_。例如,版本变量my.var将在输出中显示为my_var

答案 1 :(得分:1)

如果要查看发行版的部署日志,则比添加PowerShell任务要容易得多,“ Initialize Job”输出从该作业的环境变量的完整列表开始。

示例输出:

2019-01-25T14:45:19.9999366Z ##[section]Starting: Initialize job
2019-01-25T14:45:19.9999668Z Current agent version: '2.144.2'
2019-01-25T14:45:20.0025462Z Prepare release directory.
2019-01-25T14:45:20.0038060Z ReleaseId=1, TeamProjectId=xxxxxxxx, ReleaseDefinitionName=xxxxxxxx
2019-01-25T14:45:20.0116729Z Release folder: D:\a\r1\a
2019-01-25T14:45:20.0259515Z Environment variables available are below.  Note that these environment variables can be referred to in the task (in the ReleaseDefinition) by replacing "_" with "." e.g. AGENT_NAME environment variable can be referenced using Agent.Name in the ReleaseDefinition: 
                [AGENT_HOMEDIRECTORY] --> [C:\agents\2.144.2]
                [AGENT_ID] --> [3]
                [AGENT_JOBNAME] --> [Release]
                [AGENT_MACHINENAME] --> [fv-az576]
                [AGENT_NAME] --> [Hosted Agent]
                [AGENT_OS] --> [Windows_NT]
                [AGENT_OSARCHITECTURE] --> [X64]
                [AGENT_RELEASEDIRECTORY] --> [D:\a\r1\a]
                [AGENT_RETAINDEFAULTENCODING] --> [true]
                [AGENT_ROOTDIRECTORY] --> [D:\a]
                [AGENT_SERVEROMDIRECTORY] --> [C:\agents\2.144.2\externals\vstsom]
                [AGENT_TEMPDIRECTORY] --> [D:\a\_temp]
                [AGENT_TOOLSDIRECTORY] --> [C:/hostedtoolcache/windows]
                [AGENT_VERSION] --> [2.144.2]
...