TeamCity Server - 无法在路径中找到P4命令行客户端

时间:2015-02-04 10:21:29

标签: macos teamcity perforce server

我已做过相当多的研究,找到其他有类似问题的人,但我最接近的是那些在平台上使用TeamCity的人(Mac OS X或Windows)因此可以负担得起p4的完整路径(例如/ usr / local / bin / p4或C:\ Program Files(x86 \ Perforce \ p4.exe)。

但是,我的服务器在Mac OS X上运行,我在OSX和Windows 8上都有代理。所以这就是我的问题所在。

在普通用户帐户下运行我的团队城市时,让我们通过launchctl给他打电话,这是一个VCS问题。

Failed to collect changes, error: Unable to find P4 command-line client at path 'p4' on joe-his-computer for user joe

请注意,p4是我所有构建配置VCS设置中p4可执行文件的路径。 (默认)

另一个问题是我使用我的VCS作为代理检查而不是服务器检查。

当我运行我的服务器而不是作为守护程序而是登录为&#39; joe&#39;通过ssh并通过<TeamCity Server Data Dir>/bin/teamcity-server.sh启动它然后没有问题,他可以在我的服务器和代理上访问p4。

这使我很沮丧,因为我似乎无法找到它为什么会出现这个问题。我尝试的另一件事是将我的构建配置中的路径定义为%env.P4PATH,并确保我的所有代理都有完整的perforce路径(即使这很荒谬,因为它显然是我的服务器出现问题,不是我的经纪人。)

可悲的是,由于%env.P4PATH未在我的服务器上定义,因此无法正常工作。

现在我只是通过我知道它工作的唯一方式使用我的TeamCity服务器,但我真的想将它作为守护进程(启动)运行,因为它会确保我的服务器始终处于活动状态权力放出。

如果您需要更多详细信息以帮助我,请告诉我。

编辑:再次手动启动我的TeamCity后,我发现我的OS X构建代理有同样的问题。该代理程序在与服务器相同的OS X计算机上运行,​​也通过launchctl启动。

该代理的错误消息说:

Failed to perform checkout on agent: Unable to find P4 command-line client at path 'p4' on joe-his-computer for user joe

1 个答案:

答案 0 :(得分:1)

感谢同事,我发现了这个问题。在该特定计算机上,p4位于/usr/local/bin,但/usr/local/bin不在我的路径中。将p4移至/usr/bin我解决了OSX AgentOSX Server的问题。