End To End Build Automation With Team Build

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    End To End Build Automation With Team Build - Presentation Transcript

    1. “ Welcome”
    2. A few quick thanks… New Horizons for providing facilities for our Hands On Lab day Breeze Training for picking up the tab for the Brekkie & Newspapers Microsoft for allowing us to use their great venue Muffin Break for the wonderful breakfast served this morning
    3. VSTSTechBrekkie
      • Final session coming up
        • 27th Oct 2006 - " Best Practices: Driving up quality using VSTS (Test & Build) “ with Chuck & Marty
    4. VSTSTechBrekkie
      • Hands on Lab day
        • Friday 10 th November 2006
        • Free registration open for either of the following sessions;
          • Morning 9:00 – 12:30 - or -
          • Afternoon 1:00 – 4:30
      Supported by
    5. QLD VSTS Users Group
      • Please complete registration form provided if you wish to register for the user group
      • Current plan is for a Friday morning Breakfast event on 1 st Friday of each month
      • Inaugural meeting Friday 1 st December 06
      • Website due in the next week or two
      www.qvstsug.org
    6. “ End to end build automation using Team Build” William Bartholomew Developer Productivity Specialist, TechnologyOne
    7. Who Am I?
      • Developer Productivity Specialist TechnologyOne, Brisbane
      • Technical Reviewer of Code Complete 2 nd Edition by Steve McConnell
      • Technical Reviewer of .NET Standard Library Annotated Reference Volume 2 by Brad and Tamara Abrams
      • Member of Microsoft UI Frameworks Advisory Council (ASP .NET and Smart Client)
      • MSDN Forum Moderator
    8. Agenda
      • Introduction to MSBuild
      • Introduction to Team Build
      • Creating a Build Type
      • Executing a Build
      • Default Process
      • Editing Build Types
      • Build Process Customisation
      • Writing Custom Tasks
      • Resources
    9. Introduction to MSBuild
      • Microsoft supported build engine
      • XML-based configuration file
      • Intellisense available from Visual Studio using supplied schema
      • Ships with .NET Framework 2.0, it is NOT part of Team Foundation Server
      • Both Visual Studio and Team Foundation Server leverage MSBuild
      • Command-line utility - MSBuild.exe
    10. MSBuild Concepts
    11. MSBuild Concepts
      • Projects
        • The root concept in MSBuild
        • Defines the build process
      • Properties
        • Name/value pairs
      • Items
        • Set of objects (commonly files)
        • Can specify meta-data to be applied to the objects
    12. MSBuild Concepts
      • Targets
        • Defines a number of sequential tasks
        • Projects can have initial and/or default targets
      • Tasks
        • Performs an operation
        • Uses properties and items
        • Extensible
    13. Examine a .vbproj File
      • Demo
      • How does this work?
        • Extends Microsoft.VisualBasic.targets
        • Which extends Microsoft.Common.targets
    14. Introduction to Team Build
      • What is Team Build?
        • Service
        • Properties
        • Targets
    15. Introduction to Team Build
      • What does Team Build do out-of-the-box?
        • Clean the build area
        • Retrieve latest version of source code
        • Label source code
        • Compile one or more solutions
        • Run code analysis and tests
        • Deploy binaries to a drop folder
        • Provide centralised logging and reporting
    16. Introduction to Team Build
      • Extends Microsoft.TeamFoundation.Build.targets
      • Supports customisation
        • Configuration files
        • Customisable properties
        • Customisable targets
      • Supports extensibility
        • Custom tasks
        • Team Foundation API
        • Build eventing
    17. Creating a Build Type
      • Demo
      • Creates three files in Source Control
        • TfsBuild.proj
        • TfsBuild.rsp
        • WorkspaceMapping.xml
      • Best Practices
        • Avoid spaces in the name
        • Choose a long-term name
    18. Executing a Build
      • Demo
      • From within Visual Studio
      • From the Command-Line (TfsBuild.exe)
        • Also allows you to stop a build and delete builds
      • From the API
        • Continuous Integration
    19. Default Build Process
      • Generate build number
      • Clean
      • Get
      • Label
      • Compile
      • Create work items
      • Test
      • Drop
    20. Desktop Build Process
      • Compile
      • Test
      • No status report
      • Not part of build history
      • Launched from the command-line:
        • MSBuild TfsBuild.proj /p:SolutionRoot=....
    21. Editing Build Types
      • Directly edit the files in Source Control
      • Team Build will automatically get the latest version for each build
      • Because these are stored in Source Control we can reproduce any previous build, but make sure you keep your build dependencies in Source Control
    22. Editing Build Types
      • Demo
      • Attrice Team Build Sidekick
    23. Build Process Customisation
      • Each step in the build process provides customisation points
        • BeforeEndToEndIteration, AfterEndToEndIteration
        • BuildNumberOverrideTarget
        • BeforeClean, AfterClean
        • BeforeGet, AfterGet
        • BeforeLabel, AfterLabel
        • BeforeCompile, AfterCompile
    24. Build Process Customisation
      • Customisation points continued
        • BeforeTest, AfterTest
        • BeforeDropBuild, AfterDropBuild
        • BeforeOnBuildBroke, AfterOnBuildBroke
      • You can override the other targets, but beware!
    25. Build Process Customisation
      • Demo
      • Override build number
      • Get
        • SkipGet
        • ForceGet
        • RecursiveGet
        • Partial get using WorkspaceMapping.xml
    26. Build Process Customisation
      • Skip process step variables
        • SkipClean
        • SkipGet
        • SkipLabel
        • SkipInitializeWorkspace
        • SkipPostBuild
        • SkipDropBuild
        • SkipWorkItemCreation
    27. Build Process Customisation
      • Location variables
        • WorkspaceName
        • SolutionRoot
        • BinariesRoot
        • TestResultsRoot
    28. Build Process Customisation
      • Demo
      • Work Item Creation
        • Change Assigned To
    29. Writing Custom Tasks
      • Either implement Microsoft.Build.Framework.ITask
      • Or, inherit Microsoft.Build.Utilities.Task
      • Provide Team System “awareness” by passing $(TeamFoundationServerUrl) and $(BuildURI) as properties
      • Avoid requiring Team System when not necessary
    30. Writing Custom Tasks
      • XML attributes are passed through as properties
      • Properties can be marked <Required()>
      • Properties can be marked <Output()>
      • Most intrinsic types are supported
      • Arrays of these types are also supported, delimited using ; in XML
      • Use <UsingTask> to reference your custom task
    31. Writing Custom Tasks
      • Demo
    32. Resources
      • My Blog http://blog.bartholomew.id.au/
      • MSDN Forums http://forums.microsoft.com/forums/default.aspx?ForumGroupID=5
      • OzTFS Mailing List http://www.oztfs.com/
    33. Resources
      • Attrice Team Build Sidekick http://www.attrice.info/cm/tfs/TeamBuildAddin.htm
      • Team System Widgets http://accentient.com/widgets.aspx
    34. Thank you for attending
      • Don’t forget
      • Chuck and Marty’s session on “Best Practices: Driving up quality using VSTS (Test & Build)” next Friday.
      • Check out the Hands on Lab day on the www.vststechbrekkie.com site

    + wbartholwbarthol, 3 years ago

    custom

    2854 views, 2 favs, 2 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 2854
      • 2804 on SlideShare
      • 50 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 108
    Most viewed embeds
    • 44 views on http://blog.bartholomew.id.au
    • 6 views on http://blogs.teamsystemnotes.com

    more

    All embeds
    • 44 views on http://blog.bartholomew.id.au
    • 6 views on http://blogs.teamsystemnotes.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Tags