Multiple VCS Root question
I've been reading the documentation on having mutiple VCS Roots defined, but haven't yet found an answer to my question. The devs that I support are wanting to to pull down entire branches for each build configuration to simplify a configuration file location issue they are trying to overcome to minimize file duplicity. The obvious problem with such a broad checkout rule is that anytime any dev checks in anything to that project, all of the build configurations will be re-built. Not optimal.
So my question is, is there a way to have one VCS Root with tighter checkout rules just doing the incremental repo checks relative to that particular build configuration, but not actually pull anything from the repo and not build anything? Then, if changes are seen, the other VCS Root (this one pulling the entire branch) then pulls the updates and proceeds to kick off the build process? To me, this seems like a good way to accomplish what I've been asked to do. Further, is there maybe a way to do this with a single VCS Root that I've possibly missed?
I know it's not the most "efficient" thing to do (pulling entire branches), but if there are any better/alternative approaches, I'm happy to listen and learn (I'm still relatively new to Teamcity so there is still a lot of learning going on over here. :) ) Thanks!
Please sign in to leave a comment.
Hi Jason,
I think your abstraction is making it harder for me to understand your scenario. I'll try to help with what I think I've understood, but please feel free to correct me:
-You have roots R1 and R2.
-You want to observe R1 on path P1, and when that path contains changes, trigger the build, that will download from R1 and R2
Is that correct? If so, then it would be very simple. Set up the checkout rules to allow for both the path P1 on R1 and everything on R2. Configure the VCS Trigger to use a trigger rule, where you explicitly accept the path P1. https://confluence.jetbrains.com/display/TCD18/Configuring+VCS+Triggers#ConfiguringVCSTriggers-VCSTriggerRules
If it's not correct, it would be useful if you could put an example that I can refer to.