我正在尝试设置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变量与系统默认值不同,我该如何解决?
答案 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起已修复