Copy test files to agent

Our TeamCity builds our software and publishes it as an artifact. We build it, say on build agent 1. We run UI automated tests on the software., but we want to run it on our system PC.

For that to be possible, we installed TC Agent on the system PC and made it build agent 2.

There is about 5 gigabytes of small files that are necessary to run the test on build agent 2. These files are on Git LFS and they get pulled on build agent 1. 

We'd like to transfer these 5 gigabytes of files to buildagent2 somehow. Using Artifacts feature is not an option. We tried using robocopy but build agent 1 is in the company's Active Directory whilst build agent 2 isn't, so it is not simple to create a share on build agent 1 that can be accessed by build agent 2.

Is there a feature in TeamCity that can accommodate this requirement or do I have to resort to file shares or other tools such as sftp, etc, etc...?

Comment actions Permalink

In order to move files between your build agents, there must be some sort of network path between the two or some intermediate location that is accessible by both agents. Would it be possible to have build agent 1 push the files to a location that build agent 2 can reach, rather than having build agent 2 pull the files from a share on build agent 1? For example, create a share on build agent 2 and have build agent 1 perform the robocopy (or any other duplication technique) to that share.

There are also a number of build runners that can deploy files during a build to locations other than the artifact directory, FTP Upload, SMB Upload, and SSH Upload. By Adding one of these build runners to the build configuration that is running on build agent 1, you could deploy the files to a location that is reachable by build agent 2. 

Can build agent 2 reach the Git LFS location? I would think this would be the best option, but maybe there is a reason why build agent 2 cannot be given access.

Comment actions Permalink

Many Thanks Eric. You brought up many valid points and I'm curious to see if I can explore the build runners you're suggesting. I didn't know those existed.

build agent 2 does reach the Git LFS location, in fact it is the solution we have now. I'd like to remove the VCS root as it is pulling a large repository along with the git lfs. Maybe there's a way to only pull the git lfs instead of the whole code repository... As you say, this seems like to be the best option.

Either way, it is good to learn about these build runners. Many thanks!


Please sign in to leave a comment.