0
votes

I have multiple solutions and common references for all my solutions in the source of my TeamProject as below.

TestTeamProject
    Source
       SolutionA
       SolutionB
       SolutionC
       References

All the solutions uses Referneces and each solution has a separate build definition. Whenever the build is triggered , a custom activity runs that check-ins their own binaries to the References folder( EX : If the Build Definition configured for SOlution A is triggered it copies the output dlls to References folder), since each solution has dependancies on each other.

Now i tried enabling continuous integration trigger on the Build Definition of SolutionA and it is going into a loop and triggering infinite builds.

Reason : Since i have References under the source settings of the Build Definition of Solution A , when ever the build is completed and the references are checked in by my activity, it is again triggering CI build

Is there any way i could restrict this behaviour by still enabling the CI trigger feature? Is there any extension that could be used to use filters for source control paths while setting up CI builds?

2

2 Answers

2
votes

Rather than having a build put binaries into source control, you should use NuGet packages and reference your binary dependencies as NuGet packages.

0
votes

You can try to use the cloaked in the source settings-working folders to select the version control paths you want to include and exclude. (Note: suggest you to make sure these filters are consistent with your TFVC workspace mappings.)

For your situation you can cloaked the references folder enter image description here

And since you are using the dll in references. The best way just as Daniel suggest using a package management system such as Nuget to host and deploy your dependencies can eliminate them from source control and allow you avoid the endless loop.