Have teamcity checkout on build agent machine

365 views Asked by At

We have a team city server installed on a server named pluto. It's a Windows Server machine. There is a build agent on Pluto used to do VS related builds.

We have another build agent connected to this TeamCity server instance called YOSX, a build agent that is running on Mac mini Yosemite.

I've created a build to build a solution on YOSX with rake script. As a VCS Root Checkout option I've selected Automatically on Agent.

Ok, I am expecting that perforce p4 app will be called by TC agent on YOSX machine, but when I run a build, I get an error:

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$

Why is trying to checkout on pluto with user $PLUTO while I specifically set it to checkout on build agent's machine.

P.S. Yes, I've set the build requirements so that the build configuration in question is only compatible with YOSX build agent.

2

There are 2 answers

1
Nikita Skvortsov On

The server does not try to checkout the sources, but it still collects the information about changelists: modified files, commit messages etc. This information will be used to display diffs, relevant issues, to track possible causes of test failures.

Please, install p4 on the PLUTO as well.

0
Maxim V. Pavlov On

In my case p4 file on YOSX (build agent machine) was in PATH, but didn't have execute permissions. chmod +x p4 solved the puzzle.