90 likes | 251 Views
Commentor A/S Hørkær 24, 2730 Herlev. Tel : (+45) 44530760, Fax : (+45) 44530761 Web : www.commentor.dk, Email : info@commentor.dk. Team Build med Team Foundation Server 2008 Konfiguration og udvidelse af build jobs. Kort præsentation Hvorfor bruge Team Build
E N D
Commentor A/S Hørkær 24, 2730 Herlev Tel : (+45) 44530760, Fax : (+45) 44530761 Web : www.commentor.dk, Email : info@commentor.dk Team Build med Team Foundation Server 2008Konfiguration og udvidelse af build jobs • Kort præsentation • Hvorfor bruge Team Build • Afvikling af et build job – overblik over de steps der gennemløbes • Forskelle mellem TFS 2005 og TFS 2008 (mht. build) • Setup projekter under TFS build jobs – hvordan kan det gøres • Demo Projekt • Demo • Referencer • Debat, spørgsmål og kommentarer
Commentor A/S Hørkær 24, 2730 Herlev Tel : (+45) 44530760, Fax : (+45) 44530761 Web : www.commentor.dk, Email : info@commentor.dk PræsentationKort præsentation af Amdi Nielsen • Software udvikler og –arkitekt • Windows • .NET • SQL • Windows Mobile • Kompetencer og erfaring med Team Foundation Server • Automatisering af build • Automatisering af test • Automatisering af deployment • Kontakt: amdi@commentor.dk +45 2043 8910
Commentor A/S Hørkær 24, 2730 Herlev Tel : (+45) 44530760, Fax : (+45) 44530761 Web : www.commentor.dk, Email : info@commentor.dk Hvorfor bruge Team BuildHvad er der galt med ”Build Solution”. • Risici ved lokale builds • Kodeændringer checkes ikke ind • Hvem bygger ”master” versionen • På build server bygges med den kode der er checket ind i Source Control • Entydig sammenhæng mellem en version af kildekode og resultat af build • Build jobs baseres på MSBUILD – stor fleksibilitet • Automatisk generering af changesets • Automatisk kørsel af unit tests – hvis testen fejler, fejler hele build jobbet • Nem integration af egne scripts eller funktioner • Builds kan startes decentralt af udvikler, men køres på build serveren • Historik over builds og genererede binaries • Let at starte automatiske builds på fastsatte tidspunkter f.eks. hver nat • Continuous Integration muliggør automatisk build f.eks. ved hver checkin
Commentor A/S Hørkær 24, 2730 Herlev Tel : (+45) 44530760, Fax : (+45) 44530761 Web : www.commentor.dk, Email : info@commentor.dk Afvikling af et build joboverblik over de steps der gennemløbes • 1. BeforeEndToEndIteration*2. BuildNumberOverrideTarget*3. InitializeEndToEndIteration4. BeforeClean*5. CoreClean6. AfterClean*7. Clean8. InitializeBuild9. BeforeGet*10. InitializeWorkspace11. CoreGet12. AfterGet*13. PreBuild14. BeforeCompile*15. CoreCompile16. AfterCompile* • 17. Compile18. GetChangeSetsAndUpdateWorkItems19. PostBuild20. BeforeTest*21. CoreTest22. AfterTest*23. Test24. PackageBinaries*25. TeamBuild26. BeforeDropBuild*27. CoreDropBuild28. CopyLogFiles29. AfterDropBuild*30. DropBuild31. AfterEndToEndIteration*32. EndToEndIteration
Commentor A/S Hørkær 24, 2730 Herlev Tel : (+45) 44530760, Fax : (+45) 44530761 Web : www.commentor.dk, Email : info@commentor.dk Forskelle mellem TFS 2005 og TFS 2008 • Konfiguration af build jobs er i TFS 2008 splittet i 3 lokationer • Konfiguration af Build Agents (Build server, working directory ...) • Build Definition (Name, Workspace, Trigger ...) • Project File (Targets, Tasks ...) • Project File kan gemmes i valgfri folder • Ikke nødvendigvis $/MyTeamProject/TeamBuildTypes • Stor fordel ifm. branching • Build sættes i kø • Triggers (Continuous Integration)
Commentor A/S Hørkær 24, 2730 Herlev Tel : (+45) 44530760, Fax : (+45) 44530761 Web : www.commentor.dk, Email : info@commentor.dk Setup projekter under build jobsHvordan kan det gøres • MSBUILD understøtter ikke build af setup projekter • Denne mangel ”arver” TFS Build Jobs, da de er baseret på MSBUILD • Løsningen er at kalde et script f.eks. i AfterCompile steppet. • Først kompileres selve projektet. • I scriptet bygges setup projektet med DEVENV kommandoen • Derefter kopierer scriptet den resulterende fil (f.eks. MSI) til dropfolderen.
Commentor A/S Hørkær 24, 2730 Herlev Tel : (+45) 44530760, Fax : (+45) 44530761 Web : www.commentor.dk, Email : info@commentor.dk Demo projekt • Windows applikation • WinForms projekt • Library • Ønsker til build • For hvert build ønskes versions nummeret automatisk opdateret • Der skal udvikles en .NET custom task til msbuild til opdateringen af AssemblyInfo.cs • Lokale build på udvikler PC skal have et versions nummer, der klart adskiller den fra et build på build server.
Commentor A/S Hørkær 24, 2730 Herlev Tel : (+45) 44530760, Fax : (+45) 44530761 Web : www.commentor.dk, Email : info@commentor.dk Referencer • http://msdn2.microsoft.com/en-us/library/ms366724.aspx • http://msdn2.microsoft.com/en-us/library/aa337604.aspx • http://msdn2.microsoft.com/en-us/library/wea2sca5.aspx
Commentor A/S Hørkær 24, 2730 Herlev Tel : (+45) 44530760, Fax : (+45) 44530761 Web : www.commentor.dk, Email : info@commentor.dk Spørgsmål og kommentarer