Teamcity multiroot configurations

Hi,
I created a configuration with several git roots and added branch parameter for each repo. Now I can run the configuration for each branch combination, and this combinations appear in "Active branches" list. Unfortunately, if I choose a combo from this list later, I have to set all branch parameters again. Is it possible to preserve all branch combinations for multiroot projects?  

TeamCity Enterprise 8.1.1 (build 29939)

Thanks,
Andrey

3 comments
Comment actions Permalink

Did you put a parameter into default branch or branch specification? Do I correctly understand that you have a configuration with 2+ vcs roots, each of them have parameterized branch specification?

0
Comment actions Permalink

Hi,
I have 8 git roots and I specified default branches for them as refs/heads/%repo0_branch%, refs/heads/%repo1_branch%, etc. So, I can run this configuration using all combinations of branches. By default all branches are "master". Usually, I have to make changes in 2 or 3 repositories at the same time, so I create a feature branch for each repo (names can be different). I need a way to specify all parameters, run configuration, preserve this parameters and run it again later. Of course, I can copy the configuration and change parameters, but it's rather bad solutions because of big number of possible combinations.

Andrey

0
Comment actions Permalink

It's still not 100% clear to me, but I'll try to answer.

First of all, when starting a parameterized build (build that relies on one or more parameters) via run custom build dialog you can specify exact parameter value.

Secondly, you can use or feature branches functionality (http://confluence.jetbrains.com/display/TCD8/Working+with+Feature+Branches). You need to specify the branch spec for each root, for example, refs/heads/* or /refs/heads/v1-(*) and all repos will use the same branch name.

For instance, we have 4 git roots, each has /refs/heads/* as a branch spec and /refs/heads/master as default branch. You create feature branch MyFeature in roots #1 and #2. Then, you will see the new branch in the UI and can run builds here by just selecting the branch you'd like. In this case MyFeature will include /refs/heads/MyFeature in roots #1 and #2 and master in #3 and #4 as they don't have MyFeature.

0

Please sign in to leave a comment.