Use of repositories in complex build with stages with Continua CI

Lets say I have the following TFS branch structure for .NET solution

  • Branch
    • BaseProject1
    • BaseProject2
    • BaseProject3
    • BaseProject4
    • DB
    • Products
      • Product1
        • ProductProject1
        • ProductProject2
        • ProductSolution1.sln
    • WinServices
      • Service1
      • Service2
      • ServiceSolution.sln
    • BaseSolution1.sln
    • BaseSolution2.sln

In this case, build should compile in following order

1. BaseSolution1.sln
2. BaseSolution2.sln
3. ServiceSolution.sln
4. ProductSolution1.sln

If any of these fails, build should fail. I decided to create build stages, where first 2 solutions are built in first stage and then 2 more stages for each of remaining solutions.
Question: what is the correct way to implement this in CCI? Should I create multiple repositories? Consider this structure - there are 100+ base projects. Also, no changeset inside folder DB should trigger a build. I tried to configure single repository with filtering and pointing to subfolder. But it keeps telling me that there are no changesets to process. I am lost.


Hi Anatos,

There isn’t necessarily one correct way to set up repositories, but is it always good for performance to limit repositories to include only the files required for the build. 

Assuming there are several Product folders, we would recommend creating a repository for each Product folder e.g. Branch\Products\Product1 and then one repository for the base solution. Ideally you would move the base solutions into another folder, and set that up as another repository. Otherwise you should be able to set up the repository to point to the root of your branch and use Changeset Exclude Patterns to exclude the DB and Products folders. If this is not working then please send screenshots of each tab of the repository settings either as a reply to this post or to support @ finalbuilder.com

We did hit a roadblock with out branch construction and couldn’t move forward with CI. Now that is resolved. Eventually, we’ll give it another try. Thank you