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



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

Path环境变量的内容(如窗口"环境变量"对话框中的"系统变量"列表以及HKEY_LOCAL_MACHINESYSTEMControlSet001ControlSession ManagerEnvironmentPath处的注册表所示)为

%SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;c:Program Files (x86)Microsoft SQL Server90Toolsbinn;c:Program Files (x86)Microsoft SQL Server100ToolsBinn;c:Program FilesMicrosoft SQL Server100ToolsBinn;c:Program FilesMicrosoft SQL Server100DTSBinn;c:Program Files (x86)Microsoft SQL Server100ToolsBinnVSShellCommon7IDE;c:Program Files (x86)Microsoft SQL Server100DTSBinn;C:Program Files (x86)Gitcmd

然而TeamCity表示其环境。路径只是

C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;c:Program Files (x86)Microsoft SQL Server90Toolsbinn;C:WindowsSystem32WindowsPowerShellv1.0

我重新启动了电脑(多次),但没有任何帮助。

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

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

%env.PATH%:/my/path

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

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

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

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

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

以前的一些答案是正确的,但缺乏详细信息(我需要一些时间才能真正理解它们)--我不清楚Default Agent将其环境变量带到哪里:所以这里有一种方法可以在Agent配置中清楚地修复它们

env.PATH=/usr/whatever编辑TeamCity/buildAgent/conf/buildAgent.properties文件就可以了。文档对此有一点提示。

一旦编辑了该文件,就可以在Agents > Default Agent > Agent Parameters > Environment Variables中的UI中检查它们是否已更新(请注意,这些变量只有在连接代理时才会在UI中刷新;如果断开连接,UI将显示以前的值)。

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

p.S.很高兴听到。我仍然决心在TeamCity取得成功。

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

编辑:自TeamCity 7.1

起,此错误已修复

相关内容

  • 没有找到相关文章

最新更新