如何在powershell构建步骤中获得TeamCity的工作目录



在我的TeamCity项目中,我有一个PowerShell构建步骤,我需要在脚本中获得团队城市的当前工作目录。我试着用这个代码从环境变量中获取它,然而,环境变量显然是null:

"Working Dir: " + $env:teamcity_build_workingDir

如何访问TeamCity变量,或者如何获取TeamCity项目的当前工作路径?

根据TeamCity文档,teamcity.build.workingdirectory-属性没有环境变量。

系统属性名称:teamcity.build.workingDir

环境变量名称:无

描述:开始构建的工作目录。这是TeamCity构建跑步者应该开始的一条道路过程这是一个特定于跑步者的属性,因此它有不同的每个新步骤的值。

您可以尝试返回PowerShell当前工作目录的$pwdGet-Location。希望PowerShell进程是在与生成运行程序相同的工作目录中启动的。例如:

"Working Dir: " + $pwd
"Working Dir: " + (Get-Location)
$myDirectory = Split-Path $MyInvocation.MyCommand.Path

learn.microsoft.com

对于PowerShell构建步骤,您可以在运行代码之前将其设置为环境变量。例如,如果你通常想要运行CCD_ 5;源代码";然后使用类似的东西

$env:TEAMCITY_BUILD_WORKINGDIR = "%teamcity.build.workingDir%"
. "./my-script.ps1"

然后,您可以在脚本中使用$env:TEAMCITY_BUILD_WORKINGDIR

最新更新