Contents tagged with CI

  • Faster builds with VSTS Team Build

     If you have big solutions with hundreds of projects and hundred of thoudsands lines of code, you know that by default compiling in the build server takes some time. One of the things that take most time is getting the sources to compile, and that's because by default the build script performs a FULL GET instead of a "normal" get (or incremental, just getting the things that changed from the last build).

    In order to instruct the build agent to perform an incremental for VS2005 get you need to modify the build script and include the following:

    <PropertyGroup Condition="Exists($(SolutionRoot))">
    <SkipClean>true</SkipClean>
    <SkipInitializeWorkspace>true</SkipInitializeWorkspace>
    <ForceGet>false</ForceGet>
    </PropertyGroup>

    For VS2008 you only need to add the following:

    ·         </ItemGroup>·            <PropertyGroup>·               <IncrementalBuild>true</IncrementalBuild>·          ·            </PropertyGroup>·         </Project>


    This means that the build script should not delete or initialize a previously existing workspace and don't try to force the GET operation for ALL sources. Another thing we can do to speedup the build process (specially in CI builds) is to avoid associating WorkItems with each build (that is only done on the RELEASE build done manually by the release manager), and therefore we need to include the following in the build script:

    <PropertyGroup Condition="$(QuickBuild)=='True'">

         <SkipLabel>true</SkipLabel>

         <SkipGetChangesetsAndUpdateWorkItems>true</SkipGetChangesetsAndUpdateWorkItems>

    </PropertyGroup>

    Hope you find this information useful, 

    Andres G Vettori, VMBC, CTO

    http://www.vmbc.com

    Read more...

  • Continuous Integration presentation at Microsoft

    A few days ago I presented the topic "Continuous Integration" to part of the Architect community in Argentina.

    The presentation was about how to achieve higher quality software by using Microsoft tools (VSTS, Sharepoint, Office, and more) and how our team solved some of the most common issues in software development projects by defining and fine tuning methodologies, processes, tools and mindset.

    I try to be practical and talk and show HOW do we do things, rather than giving long theorical explanations about the topic. Of course the topics touched diverse points of interest like requirements approval process for external & internal clients, formal registration & audit of approval proof, publication of metrics and project status to internal & external clients, ALM processes for heterogeneus platforms, and much (MUCH) more.

    I really enjoyed giving this talk and the audience was really active and interested in our experience, they asked a lot of very good questions and It was a real pleasure to interact with them and discuss such challenging topics with bright people.

    Juan Ladetto, a Software Architect from Microsoft Argentina coordinating this Architect Community activities, has posted about this presentation and if interested you can download the PPT from there:

    http://blogs.msdn.com/juanl/archive/2009/10/16/resumen-desayuno-nlost.aspx

    Juan, thanks again for the opportunity and hope it hapens again!

    Best regards,

    Andrés G Vettori, VMBC, CTO

    http://www.vmbc.com

    Read more...