From Build Definition to Custom Workflow Activities in 75 Minutes Brian A Randell Senior Consultant DEV310 Build Automation is not F5 Build Automation is Collecting Assembling Validating ID: 230994
Download Presentation The PPT/PDF document "Team Build 2010:" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1Slide2
Team Build 2010: From Build Definition to Custom Workflow Activities in 75 Minutes
Brian A. RandellSenior Consultant
DEV310Slide3
Build Automation is not …
F5Slide4
Build Automation is…CollectingAssemblingValidatingAuditingSlide5
Build automation helps you answer the tough questionsDo our bits create a product?Are we on schedule?
Is our product high quality?
Build automation’s value is in making it trivial to take the pulse of your teamSlide6
Team Build 2010Visual Studio 2010 Team Foundation Server Build is the official name of the featureCore feature of TFS – you don’t buy it on its own
Industrial strength build automation in for the Visual Studio 2010 familyProvides the “F5” experience for your teamSlide7
Build on App TierSlide8
Build on Separate ServerSlide9
Multi-machine BuildSlide10
Multi-machine/controllersSlide11
New Team Build 2010 FeaturesNew Controller / Agent ArchitectureSupport for agent taggingManaged via TFS Administration Console
Gated Check-inWindows Workflow build engineMS Build still does compilationBuild workflow with Lab ManagementSlide12
Build ManagementManual process in TFS 2005Command-line deletion of builds
Manual management of dropsTeam Build 2008 added GUI features to manage builds and their associated artifactsTeam Build 2008 added support retention policy for builds and automatic clean up
Team Build 2010 continues to add new featuresLab Management integration means builds have
additional artifactsSlide13
Build NotificationsUsing the project alerts feature, anyone can subscribe to build notification eventsTwo events supported out of the box
E-mail notification generatedBuild status changes Build completesBuild Notification Tool ships with Visual Studio 2010Slide14
Build Definitions in TFS 2010TFS 2005 and 2008 builds were executed by MSBuildTFS 2010 builds use Windows Workflow Foundation 4.0
Core compilation still handled by MSBuild
TFS 2005
TFS 2008
TFS 2010
Collecting (Orchestration)
MSBuild
2.0
MSBuild
3.5
WF 4.0
Assembling (Building)
MSBuild 2.0
MSBuild 3.5
MSBuild 4.0
Validating
(
Testing)
MSBuild 2.0
MSBuild 3.5
WF 4.0
Auditing (Deploying)
MSBuild 2.0
MSBuild 3.5
WF 4.0Slide15
Build Process TemplatesWindows Workflow 4.0 templates to define your build processBuild in 2010 doesn’t use a TFSBuild.proj file
When you define a build, you can select a template or create a new oneDone on the Process tab of the build definitionSlide16
Upgrade TemplateAllows you to continue to use TFSBuild.proj filesWhen you upgrade to TFS 2010 your existing builds are upgraded to use this this template
Allows you can even take advantage of new features like gated check-in and other featuresSlide17
Build TypesAt a minimum, use daily buildsUse Continuous Integration if your team and
process is mature enoughCreate “integration” builds to run before branch creation or merges
Set Associate Changesets and Work Items to False
Need to create as soon as possible
First good build won’t list
changesets
and work items
Assumption is first build includes everythingSlide18
Customizing Team Foundation Build 2010Team Build can be customized in many waysCustomize build orchestrationCreate a custom build process template
Add standard activities to your custom definitionCreate custom activities and add them to your definitionSlide19
Use Process ParametersMany customizations you performed in earlier releases are now parameterized settingsParameter defaults can be changed on the build definition after creation
Property
Property
Property
Build individual .NET projects
Logging verbosity
Create work item on failure
Fail build on test failure
Perform Code Analysis
Disable tests
Test category criteria
Index Sources
Get version
Test priority filters
Publish symbols
Label sources
Run all tests in a .VSMDI file
Analyze Test Impact
MSBuild arguments
Build number format
Associate changesets & WIs
MSBuild Platform
Clean workspace
Copy Outputs to drop folder
Private drop locationSlide20
Create a Custom WF ActivityCan be implemented in code or in XAMLCreate an Activity LibrarySpecify any variables and arguments
Test your codeCheck-in the assembly to version control and tell your Build Controller where custom assemblies liveSlide21
Developing Custom ActivitiesWhy?Unit of encapsulation & re-use
Model custom control flowImplement custom business logicExpand vocabulary of activities with domain specific activities
Let’s build one!Slide22
Bringing It TogetherAll of your artifacts are in version controlChanges are driven by work itemsBuilds assemble artifacts and create snapshots of work completed
Build reports provide point in time viewUse the TFS API to collate data to create release reports and documentationSlide23
SummaryTeam Build allows for consistent and repeatable buildsWindows Workflow and the MS Build engine support provide for limitless extensibilitySlide24
DEV Track Resourceshttp://www.microsoft.com/visualstudio http://www.microsoft.com/visualstudio/en-us/lightswitch
http://www.microsoft.com/expression/http://blogs.msdn.com/b/somasegar/
http://blogs.msdn.com/b/bharry/http://www.microsoft.com/sqlserver/en/us/default.aspx
http://www.facebook.com/visualstudio
Slide25
Resources
www.microsoft.com/teched
Sessions On-Demand & Community
Microsoft Certification & Training Resources
Resources for IT Professionals
Resources for Developers
www.microsoft.com/learning
http://microsoft.com/technet
http://microsoft.com/msdn
Learning
http://northamerica.msteched.com
Connect. Share. Discuss.Slide26
Complete an evaluation on
CommNet
and
enter to win!Slide27Slide28