我们在名为pluto的服务器上安装了团队城市服务器。这是一台Windows Server机器。 Pluto上有一个构建代理,用于执行与VS相关的构建。
我们有另一个构建代理连接到这个名为YOSX的TeamCity服务器实例,这是一个在Mac mini Yosemite上运行的构建代理。
我已经创建了一个使用rake脚本在YOSX上构建解决方案的构建。作为VCS Root Checkout选项,我在Agent上选择了Automatically。
好的,我期待在YOSX机器上由TC代理调用perforce p4应用程序,但是当我运行构建时,我收到错误:
Collecting changes in 1 VCS root (2s)
[Collecting changes in 1 VCS root] VCS Root details
[VCS Root details] "eyeleo.mac.dev" {instance id=98, parent internal id=31, parent id=Desktop_EyeLeoMac_EyeleoMacDev, description: "perforce: p4.radacode.net:1666: perforce stream: '//EyeLeo.Mac/dev'"}
Failed to collect changes, error: Unable to find P4 command-line client at path '//Applications/p4' on pluto for user PLUTO$
为什么尝试使用用户$ PLUTO在pluto上结帐,而我专门将其设置为在构建代理的计算机上结帐。
P.S。是的,我已经设置了构建要求,以便所讨论的构建配置仅与YOSX构建代理兼容。
答案 0 :(得分:1)
服务器不会尝试签出源,但它仍会收集有关更改列表的信息:已修改的文件,提交消息等。 此信息将用于显示差异,相关问题,以跟踪测试失败的可能原因。
请在PLUTO上安装p4。
答案 1 :(得分:1)
在我的情况下,YOSX(构建代理机器)上的p4文件位于PATH中,但没有执行权限。 chmod + x p4解决了这个难题。