在构建代理计算机上进行teamcity checkout

时间:2015-06-12 09:22:36

标签: macos build rake teamcity perforce

我们在名为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构建代理兼容。

2 个答案:

答案 0 :(得分:1)

服务器不会尝试签出源,但它仍会收集有关更改列表的信息:已修改的文件,提交消息等。 此信息将用于显示差异,相关问题,以跟踪测试失败的可能原因。

请在PLUTO上安装p4。

答案 1 :(得分:1)

在我的情况下,YOSX(构建代理机器)上的p4文件位于PATH中,但没有执行权限。 chmod + x p4解决了这个难题。