How to Constrain TFS 2008 CI Build Specific Path in Project

If you follow some of the MS recommended branching strategies, you can easily get the project structure, for example:

$PROJECT\
    DEV\
        MyProject
    STAGE\
        MyProject
    PROD\
        MyProject

      

Now let's say that I have three different assembly definitions. One for DEV, STAGE and PROD. This should be general, given that the assembly definition will determine the exact assembly decisions.

If I enable CI for each of them, STAGE is built even if the check happened in DEV ...

Now my question. How can I restrict an assembly definition to run only when validation occurs either in the path or in a solution that is part of the assembly definition?

+1


source to share


1 answer


When defining the working folder configuration screen - just start at the root of the branch you want to create.

For example, your DEV branch will be configured so that $ / TEAMPROJECT / DEV / MyProject is mapped to $ (SourceDir) rather than the default, which would be set to $ / TEAMROJECT.

FYI. Personally, I only have CI Builds on Dev branches and manual queue builds for pushing to QA. I also don't usually do rebuilds for production, but just push the build binaries that were QA'd. I also keep the build config folder inside the branch i.e. $ / TEAMPROJECT / DEV / TeamBuild, not the default $ / TEAMPROJECT / TeamBuildTypes, and therefore changes to build config are pushed through branches as well. However, you must stick to the default if you want the build configuration to be visible to VS2005 clients.



Hope it helps,

Martin.

+1


source







All Articles