3. OnderwerpenWat is het?Wat is nieuw in Team Foundation Build 2010?ConfiguratiesBuild definitiesWorkFlow of MSBuild?Aanpasbaarheid28-2-2011www.OlavKwakman.nl3
4. Wat is Team Foundation Build?Team Foundation Build maakt gecentraliseerd builden van software mogelijkTeam Foundation Build is standaard functionaliteit van Team Foundation ServerVergt geen extra licenties of componentenVeel test en analyse tools zijn standaard aanwezigMogelijkheid tot rapportage over de kwaliteit van de gebouwde software28-2-2011www.OlavKwakman.nl4
5. Wat is nieuw in Team Foundation Build?Build controller en build agent architectuurGebasseerd op Windows Workflow 4.0Gated check-insPrivate buildsVeel gebruikte eigenschappen zijn nu geparameteriseerdUitgebreide mogelijkheden tot verwijderen van buildsBuild notificatiesUitgebreide build authorisatie mogelijkheden28-2-2011www.OlavKwakman.nl5
6. ConfiguratiesEr moet tenminste 1 build machine zijn om Team Foundation Build te gebruiken. Team Foundation Server ondersteund meerdere build machines.Dit kan fysiek of virtueel zijnOnderdelen van Team Foundation Build:Team Foundation Server Build ServicesBuild controllerBuild agent28-2-2011www.OlavKwakman.nl6
7. De simpele build configuratieWordt geinstalleerd op dezelfde machine als Team Foundation Server (application-tier)Geschikt voor ‘niet complexe’ projectenKan uitgebreidt worden naar een geavanceerde buildserver configuratie28-2-2011www.OlavKwakman.nl7
8. De complexe build configuratieOndersteund meerdere Team Project CollectionsElke collectie heeft zijn eigen controller en build agents28-2-2011www.OlavKwakman.nl8
9. TFSBuild.exe Command-Line ToolStarten van een buildStoppen van een buildVerwijderen van een build. Verwijderd alle referenties naar een build maar de gegevens blijven bestaan in de TFS WarehouseVernietigen van een build. Alles wordt verwijderd.28-2-2011www.OlavKwakman.nl9
10. Voorbeeld28-2-2011www.OlavKwakman.nl10Syntax voor het gebruik van TFSBuild.exeTFSBuild.exe start /collection:teamProjectCollectionUrl /builddefinition:definitionSpec[/droplocation:droplocation] [/getoption:getoption][/customgetversion:versionSpec] [/priority:priority][/requestedfor:userName] [/msbuildarguments:args][/shelveset:shelvesetName [/checkin]][/silent] [/queue] Voorbeeld:TFSBuild.exe start http://mijnserver:8080/DefaultCollection /builddefinition:"AdventureWorksightly" /droplocation:"computernameuildDrops"
13. Build definitiesIn TFS 2005 en 2008 werden de builds uitgevoerd door MSBUILD.In TFS 2010 wordt hoofdzakelijk Windows Workflow Foundation (WF) 4.0 gebruikt.28-2-2011www.OlavKwakman.nl13
14. Geen TFSBuild.proj bestanden meerTeam Foundation Build gebruikt WF 4.0 templates om het build proces de definiëren.Er zijn standaard templates aanwezig maar er is ook de mogelijkheid om zelf een template te maken.Er is een upgrade template beschikbaar voor build definities die in oudere versies van TFS zijn gemaakt.28-2-2011www.OlavKwakman.nl14
15. AanpasbaarheidTeam Foundation Build is op vele manieren aan te passenHet maken van een eigen build proces templateStandaard activiteiten toevoegen aan een templateEigen activiteiten ontwerpen en deze toevoegen aan een template28-2-2011www.OlavKwakman.nl15
16. AanpasbaarheidVeel gebruikte aanpassingen uit TFS2005/2008 zijn nu geparameteriseerd.De waardes van de parameters zijn aanpasbaar nadat ze gecreëerd zijn.28-2-2011www.OlavKwakman.nl16
17. Uitvoeren van een MSBuild taakMaak een MSBuild project aan met 1 target die de taak aanroept.Gebruik de MSBuild WF activiteit om het MSBuild project aan te roepen28-2-2011www.OlavKwakman.nl17
18. Een eigen WF activiteit makenKan geïmplementeerd worden via broncode of XAMLCreëer een ‘C# Activity Library’ voor zowel de broncode en de XAML activiteitenSpecificeer elke variabele of argumentVoer een Unit Test uit!Check in en vertel de build controller waar die het kan vinden28-2-2011www.OlavKwakman.nl18
19. Dank voor uw aandacht.De presentatie is terug te lezen op:www.olavkwakman.nlMakesITSIMPLE28-2-2011www.OlavKwakman.nl19
Editor's Notes
Het is ook mogelijk om vanaf de command line TFSBuild te gebruiken.
Nieuwe uitgebreide rechten structuur
Door het gebruik van Windows Workflow 4.0 zijn complexe build definities simpeler te maken en te onderhouden. TFSBuild is nog wel backwards compatible met oude buildscripts die in de vorige versies van TFS zijn gemaakt.
Een kleine ‘howto’ om oude MSBuild te blijven gebruiken in Team Build 2010.
Een kleine ‘how-to’ over het maken van een eigen workflow activiteit.