Can configuration templates be made more flexible?

I usually have 3+ build configurations per source repo branch.  Two are very similar in that they are only different in a single build property - these are my debug and release rolling builds.  But the 3rd build config I build for each branch has a different build trigger than the other two (my nightly release build).  I have 8+ branches all with this same set of three build configurations.  Maintaining them all, making sure they in fact are all the same except for the intentional differences is tedious and error-prone.  

I'd ideally like to have configuration templates help me out here.  It seems to me that I should be able to have one build configuration template for nightly builds, where each build configuration associated with that template just changes the VCS root.  Then I could have one other template for all rolling builds, and have two associated build configurations of this template per branch, that set the VCS root and the debug vs. release configuration property.  

What I'm running into however is that build configurations associated with a template cannot change the VCS Root that the template specifies.  This already limits me to having to create and maintain at least one template per VCS branch that I'm building for (8 templates).  Then since there's no way for a build configuration that is associated with a template to set its own build trigger, it's impossible to use a single build template for both a rolling build configuration and a nightly build configuration.  Now we have 2 templates per branch.  So now, even though all 8*3 = 24 build configurations have almost everything in common, and there are two dimensions in that set of 24 that have even more in common, I am required to have at least 8*2 = 16 templates just to have the flexibility I need.  

I really like the idea of build config templates.  But can they be made to be more flexible so I can benefit from them?


Comment actions Permalink

In the next minor version (5.x) it will be possible to extend VCS roots collection and build triggers in build configurations inherited from template. Extension means - you can add, but you can't remove. Will it help in your situation?

Comment actions Permalink

Yes.  This sounds like it will totally solve my situation.  I look forward to the next release.


Please sign in to leave a comment.