我希望能够在Release管道的PowerShell任务中显示工件的目录路径。
在构建管道中,由变量$(System.DefaultWorkingDirectory)
描述工件的目录,如果我尝试显示它的话
在PowerShell任务中,使用命令
Write-Host $(System.DefaultWorkingDirectory)
在控制台输出中,它显示路径C:\agent\_work\3\a
。
该变量在Release管道中以及我运行命令时都不存在
Get-ChildItem Env:
在powerhsell任务的发布管道中,我可以看到所有环境变量,但是没有一个变量存储C:\agent\_work\3\a path
我如何获取它,因为在执行Artifact下载过程时,AgentJob会以某种方式知道Artifact的正确目录。
有任何想法吗?干杯
答案 0 :(得分:2)
在脚本中访问构建和发布变量作为环境变量时,需要将.
替换为_
。 documentation中对此进行了说明。在PowerShell中,您将访问$env:SYSTEM_DEFAULTWORKINGDIRECTORY
。
变量 名称将转换为大写,而字符“。”和“”是 替换为“ _”。
例如,Agent.WorkFolder成为AGENT_WORKFOLDER。在Windows上, 您可以以%AGENT_WORKFOLDER或$ env:AGENT_WORKFOLDER的身份进行访问。上 在Linux和macOS上,您使用$ AGENT_WORKFOLDER。