TeamCity构建代理从何处获取其路径环境?

时间:2012-01-11 22:32:26

标签: continuous-integration environment-variables teamcity psake teamcity-6

我正在尝试设置TeamCity来构建我的项目,但是我的psake buildscript失败了,其原因被缩小到无法找到git可执行文件,它应该在路径上。当我启动PowerShell并自己执行时,一切正常。

Path环境变量的内容(如“Windows环境变量”对话框中的“系统变量”列表中所示,以及HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment\Path处的注册表)

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Git\cmd

但是TeamCity说它的env.Path只是

C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Windows\System32\WindowsPowerShell\v1.0

我已经重启计算机(多次),这无济于事。

为什么TeamCity构建代理的PATH变量与系统默认值不同,我该如何解决?

4 个答案:

答案 0 :(得分:19)

我遇到了同样的问题,只需要重新启动Team City Build Agent Service来获取对PATH变量的更改。

答案 1 :(得分:14)

您可以通过添加名为" env.PATH"的构建参数来扩展构建代理的路径。在Mac OS和Linux上具有以下值。

%env.PATH%:/my/path

在Windows上使用";"而不是":"作为路径分隔符。

您还可以将以下内容添加到构建代理程序安装目录中的conf / buildAgent.properties。

env.PATH=%env.PATH%:/my/path

(文件底部有一条注释,显示如何设置环境变量。)

答案 2 :(得分:4)

解决方案在Build Configuration / 6 Build Parameters中,你可以覆盖env。[ANYTHING]变量。

P.S。聆听这一点。我仍然决心在TeamCity中取得成功。

答案 3 :(得分:4)

tishma的评论暗示我的解决方案是修改用户Path环境变量并重新启动Team City Build Agent Service

编辑:This bug自TeamCity 7.1起已修复