Beruflich Dokumente
Kultur Dokumente
http://code.msdn.microsoft.com/buildwallboard
Survey
F5
Build Automation is …
• Collecting
• Assembling
• Validating
• Auditing
Build automation helps you
answer the tough questions
Build Agent
Windows 2003 Server
SQL Server 2005
IIS 6.0
Version Control
Active Directory Proxy (Remote)
HTTP / S
TCP/IP
• Continuous Integration
• Build Queuing
• Scheduled Builds
• Build Agent Management
• Build Definition Editing GUI
• Better Build Management
• Managed object model
• Improved extensibility
Team Build 2008 / 2005 Compatibility
5 Visual Studio 2005 Team Explorer 8 Visual Studio 2008 Team Explorer
Build Execution
BuildDefinition \ TFSBuild.proj
Prepare build
Build Initiated Compile and
agent and create Sync Sources
from TFS Analyze
build number
Martin Fowler
How CI Works in 2008
TFS 2008 Power Tool
notifies
Developer
submits
Notification processes
Changeset
Application
Version Control
Service
raises
Check-in Event
Database
handles
polls
queries
Build Service
handles
queues
Build Completion Build Definitions
Event
raises receives
starts services
Build Build Agent Build Queue
Run Flexibility
• Build completes
• Consists of
• MSBuild project file (.proj), created via GUI, that defines build
options.
Team Build Architecture
Calls
Runs
SolutionA.sln
BuildDefinition\
Team Foundation TFSBuild.proj SolutionB.sln
Server
Build Agent
msbuildm.exe
msbuild.exe
Compiles
msbuild.exe
Customizing the Build
• Microsoft.TeamFoundation.Build.targets file
• %ProgramFiles%\MSBuild\Microsoft\VisualStudio\TeamBuild\
Microsoft.TeamFoundation.Build.targets
VB.NET
Dim tfs As TeamFoundationServer =
TeamFoundationServerFactory.GetServer("http://tfsserver:8080")
Dim buildServer As IBuildServer =
DirectCast(tfs.GetService(GetType(IBuildServer)), IBuildServer)
Dim buildDef As IBuildDefinition =
buildServer.GetBuildDefinition("TeamProject", “Build Name")
buildServer.QueueBuild(buildDef)
Demo
Using the Managed Code API for Team Build 2008
Summary
martin@teamprise.com
http://www.woodwardweb.com
http://code.msdn.microsoft.com/buildwallboard
Next Sessions
Track Description
1 Securing Communications using WCF
(Chris Seary)
2 Improving Team Development with Microsoft
Visual Studio Team System 2008 (Doug Seven)
3 Windows Mobile & Systems Centre Mobile Device
Manager (Mark Mulvany)
4 LINQ to SQL - An Introduction
(Ronan Geraghty)
Martin Woodward
martin@teamprise.com
http://www.woodwardweb.com
http://code.msdn.microsoft.com/buildwallboard