TeamCity 2 builds using the same directory

Is it possible to get two assemblies for testing in one directory and how can this be done?

Two different assemblies are currently checking two different directories.

+6
source share
2 answers

You can accomplish this by taking control of the location of the extract directory.

First you need to define your statement directory for what both assemblies might know. In the assembly configuration, go to "Version Control Settings" → "Validation Settings". Change the "Order Code" setting to Custom Path . You will then be asked to provide the directory in which you want to check your source. It can be anywhere ** if TeamCity has write permissions.

Then you need to change the checkout rules (also in the version control settings) for each project so that they are oriented to the folder relative to the root of the Checkout directories. You can do this by setting the rule to +:%some.repo.path%=>/%some.sub.folder% . You can register any subfolder in which you want. We just check everything on the root directory of Checkout ( =>/ ).

If both projects reference the same order catalog, then this combination of settings should give you the control and flexibility you are looking for.

** For our order catalog, we use the parameterized value %teamcity.agent.work.dir%\%system.teamcity.projectName%\%branch% . The first two parameters are TeamCity system parameters, and the last by us. On our system, this allows G: \ BuildAgent \ work \ $ PROJECT \ $ BRANCH, which saves everything neatly and predictably.

+14
source

It seems that the VCS settings (VCS root set and validation rules) are different for these build configurations and that is the reason why TeamCity uses a different design directory. In such circumstances, I would not recommend forcing the server to use the same directory.

Say you have two configurations A and B, and you configured TeamCity to build them in the same directory, but A and B have different VCS settings. Then what should be done during checkout?

For example, when assembly A ends on the agent, and assembly B begins on the same agent, TeamCity will have to clear all sources in the checkout directory and get them again. The same story occurs when assembly B begins after assembly A. As a result, these clean checks will slow down.

With an auto-generated verification directory, the server can optimize verification performance and use disk drives for agents. The approach with a custom validation directory is not optimal and is not scalable. Avoid it if possible.

See also: http://confluence.jetbrains.com/display/TCD8/Build+Checkout+Directory http://confluence.jetbrains.com/display/TCD8/Clean+Checkout

+1
source

All Articles