25
Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

Embed Size (px)

Citation preview

Page 1: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

Team Foundation Server 2012 Builds: Understand, Configure,

and Customize

Benjamin Day

Page 2: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

Who’s this Benjamin Day guy?

• Brookline, MA• Consultant, Coach, & Trainer• Microsoft MVP for Visual Studio ALM• Team Foundation Server,

Software Testing, Scrum, Software Architecture

• Scrum.org Classes– Professional Scrum Developer (PSD)– Professional Scrum Foundations (PSF)

• www.benday.com, [email protected], @benday

Page 3: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

Have you heard of Scrum.org?

Page 4: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day
Page 5: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

http://www.pluralsight.com/training/Courses/TableOfContents/alm-fundamentals

Page 7: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

Agenda

• Why automated builds?

• Tour of the build system

• Build servers

• Tour of the build script

• Customize your build script

Page 8: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

Why automated builds?

• Helps prevent the “works on my box” problem

• Proves you know how to build your app

• Gives you a solid way to version releases

• Makes integration second nature

Page 9: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

Assumption:local, non-Azure build.

Page 10: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

Build Features

• Windows Workflow-based build script

• Gated Check-in builds

• Lab Management builds

• Build server “tagging”

Page 11: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

DEMO 1: THE GRAND TOUR

Page 12: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

Build Controllers & Agents

• Controller– Coordinates builds for a Team Project Collection

(TPC)– Assigns work to Agents

• Agent(s)– 1+ agent per controller– Use “Tags” to define capabilities of each Agent

Page 13: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

DEMO 2: GATED CHECK-IN BUILDS

Page 14: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

DEMO 3: TOUR OF THE BUILD SCRIPT

Page 15: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

SO…YOU WANT TO CUSTOMIZE YOUR BUILD.

Page 16: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

Why customize?

• Environment specific configurations

• IIS configuration

• Custom setup commands

• Basically, you can deploy your app.

Page 17: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

Create a project to customize the build script• Compile time checking

• Create a Windows Workflow project

• Add references to the required TFS assemblies

• Add references to any other build assemblies

Page 18: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

Create a project to customize the build script

Page 19: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

For future reference, here are the references…

Page 20: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies

Microsoft.TeamFoundation.TestImpact.BuildIntegration.dll Microsoft.VisualStudio.TeamFoundation.dll

C:\Windows\assembly\GAC_MSIL\Microsoft.TeamFoundation.TestImpact.Client\11.0.0.0__b03f5f7f11d50a3a\

Microsoft.TeamFoundation.TestImpact.Client.dll

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v2.0

Microsoft.TeamFoundation.Build.Client.dll Microsoft.TeamFoundation.Build.Workflow.dll Microsoft.TeamFoundation.Common.dll Microsoft.TeamFoundation.VersionControl.Client.dll Microsoft.TeamFoundation.VersionControl.Common.dll Microsoft.TeamFoundation.WorkItemTracking.Client.dll

Assembly Reference System.Activities.Presentation System.Drawing PresentationCore PresentationFramework WindowsBase

Page 21: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

DEMO 4: CUSTOM BUILD SCRIPT

Page 22: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

DEMO 5: CUSTOM BUILD WORKFLOW ACTIVITIES

Page 23: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

Agenda

• Why automated builds?• Tour of the build system• Build servers• Tour of the build script• Customize your build script

Page 24: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

More Information

• “Levels of TFS Build Automation”, Visual Studio Magazine, July 2011, http://visualstudiomagazine.com/Articles/2011/07/01/pfcov_TFS2010-Builds.aspx

Page 25: Team Foundation Server 2012 Builds: Understand, Configure, and Customize Benjamin Day

Thank you.

http://www.benday.com | [email protected]