I have a repository in VS Team Services which is setup as :
-root
|
| -Dev (.sln)
|
| -Releases
|
| - Test (.sln)
| - Live (.sln)
Each build is working fine, however its pulling the entire repo and I just want it to pull a specific branch (Dev, Test or Live)
So I'm selecting the Solution.sln
file in the dev branch...
On the Repository tab you can specify your workspace mappings, the default mapping grabs your whole repository excluding the $/project/drops
folder.
By changing the first mapping to not take $/Project
, but $/project/dev
you'll limit the scope of the get operation. If you no longer get the root of your team project, you can remove the cloak of the drop folder, that will only raise a warning otherwise:
The next thing you should do, if you're setting this build up to be a CI build, it to specify the folders that will trigger this build on the Tiggers tab, because, again by default, CI builds will trigger on any change in the whole team project.
To allow you to keep your build definition as a template, I suggest to use the $(Build.SourcesDirectory)\MySolution.sln
instead of $/project/dev/Mysolution.sln
, that way you only need to update the mappings of a build definition after cloning it to another branch root or when saving it as a template.