tfs2008 whats new
TRANSCRIPT
-
8/14/2019 TFS2008 Whats New
1/42
-
8/14/2019 TFS2008 Whats New
2/42
Agenda
What is Team System & Team Foundation Server
What are the new features?
Overview of Team Build
TFS 2008 Build Automation in Detail Q&A
-
8/14/2019 TFS2008 Whats New
3/42
Visual Studio Team System
-
8/14/2019 TFS2008 Whats New
4/42
Team System at a Glance
Visual Studio Team Suite
MSF
ProcessandGuidance
Team Foundation Server
VisualStudio
IndustryPartners
ArchitectureEdition
DevelopmentEdition
TestEdition
Modeling Code Analysis
Code Metrics
Profiling
DatabaseDeployment
Change MgmtDB Testing
Load & ManualTesting
Version Control
Work Item Tracking
Reporting and BI
Team Portal
Team Build
DatabaseEdition
Code Coverage
Visual Studio Professional Edition
Test Load Agent
-
8/14/2019 TFS2008 Whats New
5/42
Team Foundation Server
Team Foundation ServerVersion Control
Work Item Tracking
Reporting and BI
Team Portal
Team Build
-
8/14/2019 TFS2008 Whats New
6/42
Team Foundation Server
Team Foundation Server
Version ControlWork Item Tracking
Reporting and BITeam Portal
Team Build
-
8/14/2019 TFS2008 Whats New
7/42
Team Foundation Server
Dev Team (Local)Dev Team (Remote)
Business User
Build Agent
Version ControlProxy (Remote)Active Directory
TCP/IP
HTTP / S
Windows 2003 Server
SQL Server 2005
IIS 6.0
Team Foundation Server
-
8/14/2019 TFS2008 Whats New
8/42
Whats New Version Control
Performance Improvements
Scale Improvements
Offline Improved
Workspace mapping improvements Annotate
Folder Diff
Destory
Get Latest on Checkout
-
8/14/2019 TFS2008 Whats New
9/42
Check out != Get Latest
1
1
Get Latest
2 3
Edit Pendingon Version 1
AttemptedCheck in
Check in
4
Get Latest
-
8/14/2019 TFS2008 Whats New
10/42
Get Latest on Check out
1
1
Get Latest
2 3
Pend Edit
3
Get LatestCheck in
4
-
8/14/2019 TFS2008 Whats New
11/42
Whats New Admin & Ops
Much easier installer
Upgrade from TFS 2005
Share Point 2007 Support
Support for Reporting Server off DT Support for SQL Named Instances
Support for Windows Server 2008, SQL Server 2008
-
8/14/2019 TFS2008 Whats New
12/42
Whats New - Other
Team System Web Access
Migration Toolkit
Performance and Scale improvements
Many UI improvements
-
8/14/2019 TFS2008 Whats New
13/42
Whats New - Build
Continuous Integration out of the box
Scheduled Builds out of the box
Better UI around build creation
Stop and Delete builds in UI Multi-threaded builds
Incremental builds and gets
More flexible build definition storage
Easier unit test integration
Improved Build Agent communication
.NET Object Model
-
8/14/2019 TFS2008 Whats New
14/42
Compatibility 2005 / 2008
TFS 2005
TFS 2008
VSTS 2005
VSTS 2008
-
8/14/2019 TFS2008 Whats New
15/42
-
8/14/2019 TFS2008 Whats New
16/42
-
8/14/2019 TFS2008 Whats New
17/42
Martin Woodward
Senior Software Engineer
Teamprise
Automating your builds with TeamFoundation Server 2008
-
8/14/2019 TFS2008 Whats New
18/42
-
8/14/2019 TFS2008 Whats New
19/42
Build Automation is
Collecting
Assembling
Validating
Auditing
-
8/14/2019 TFS2008 Whats New
20/42
Build automation helps youanswer the tough questions
Do our bits create a product?
Are we on schedule?
Is our product high quality?
Build automations value is in making it trivial to take
the pulse of your team
-
8/14/2019 TFS2008 Whats New
21/42
Team Build 2008
Visual Studio 2008 Team Foundation Server Build isthe official name of the feature
Core feature of TFSyou dont buy it on its own
Industrial strength build automation in Team System Provides the F5 experience for your team
-
8/14/2019 TFS2008 Whats New
22/42
DemoUsing Build in Visual Studio Team Foundation Server 2008
-
8/14/2019 TFS2008 Whats New
23/42
Build Execution
Build Initiatedfrom TFS
Prepare buildagent and create
build numberSync Sources
Compile andAnalyze
Execute TestsUpdate Work
ItemsCalculate Code
CoverageCalculate Code
Churn
Produce BuildReport
Copy to DropPublish Results
to TFSNotify EventSubscribers
BuildDefinition \ TFSBuild.proj
-
8/14/2019 TFS2008 Whats New
24/42
Continuous Integration
Continuous Integration is a software development practicewhere members of a team integrate their work frequently,usually each person integrates at least daily leading tomultiple integrations per day.
Martin Fowler
-
8/14/2019 TFS2008 Whats New
25/42
Power Tool to be released after RTM
How CI Works in 2008
submits
processes
raises
handles
queries
queues
receives
servicesstarts
raises
handles
polls
notifies
Build Service
Version ControlService
Build Agent
NotificationApplication
Check-in Event
Build CompletionEvent
Build Build Queue
Build Definitions
Changeset
Database
Developer
-
8/14/2019 TFS2008 Whats New
26/42
Run Flexibility
Ability to kick off a build on demand via Visual Studio UIor from the command line
New Continuous Integration support and GUImanagement of builds
Support for scheduled builds
Managed API also exposed for rich control
-
8/14/2019 TFS2008 Whats New
27/42
Multiple Remote Build Machines
Team Build is designed to support multiple buildmachines (build agents)
Chosen via UI or command-line when build isrequested
TFS 2008 supports easily adding new build agentswithout creating new builds
Can even have multiple build agents running on onemachine
-
8/14/2019 TFS2008 Whats New
28/42
Build Management
Manual process in TFS 2005
Command-line deletion of builds
Manual management of drops
Team Build 2008 provides GUI features to manage
builds and artifacts
Team Build 2008 supports retention policy for buildsand automatic clean up
-
8/14/2019 TFS2008 Whats New
29/42
Build Notifications
Using the project alerts feature, anyone can subscribeto build notification events
Two events supported out of the box
E-mail notification generated
Build status changes
Build completes
Build Notification Power Tool shipping post release(beta versions available)
-
8/14/2019 TFS2008 Whats New
30/42
Team Build Architecture
Team Build uses MSBuild engine
Consists of
MSBuild tasks for Team System components (testing, codechurn, update work items etc.)
MSBuild project file (.proj), created via GUI, that defines buildoptions.
-
8/14/2019 TFS2008 Whats New
31/42
Team Build Architecture
Team FoundationServer
Build Agent
msbuild.exe
BuildDefinition\TFSBuild.proj
msbuildm.exe
SolutionA.sln
msbuild.exe
SolutionB.sln
Calls
Compiles
Runs
-
8/14/2019 TFS2008 Whats New
32/42
Customizing the Build
Core build defined in TfsBuild.proj
Check-out for edit and modify
Targets group tasks together in a particular order
Allow sections of the build process to be called from thecommand line
Targets contain tasks
Tasks
Tasks are defined operations that live in a managed assembly
They provide the code that runs during the build process
You can write your own
Implement ITask
Derive from helper class Task
-
8/14/2019 TFS2008 Whats New
33/42
Customizing the Build
Properties pre-defined to control build
Targets in Build designed to be overriden
IncrementalGet StopOnFirstFailure
IncrementalBuild CleanCompilationOutputOnly
SkipWorkItemCreation UpdateAssociatedWorkItemsOnBuildBreak
SkipLabel SkipGetChangesetsUpdateWorkItems
BeforeOnBuildBreak BuildNumberOverideTarget
BeforeCompile BeforeEndToEndIteration
BeforeTest AfterEndToEndIteration
PackageBinaries Before/After everything!
-
8/14/2019 TFS2008 Whats New
34/42
Desktop Builds
Build scripts work on desktops also
Can install build server locally for UI support andpublication
Can use command-line for private, personal builds
-
8/14/2019 TFS2008 Whats New
35/42
-
8/14/2019 TFS2008 Whats New
36/42
DemoCustomizing the Build Process
-
8/14/2019 TFS2008 Whats New
37/42
-
8/14/2019 TFS2008 Whats New
38/42
Team Build Managed Code API
Interface
Interface
Properties
BuildServer
ConfigurationFolderPath
DefaultDropLocation
Description
Enabled
RetentionPolicies
Workspace
Methods
Interface
Properties
BuildDirectory
MachineName
Port
QueueCount
Status
Methods
string
Interface
Properties
DaysToBuild
StartTime
Class
Interface
PropertiesBuildAgent
BuildNumber
CommandLineArguments
CompilationStatus
ConfigurationFolderPath
DropLocation
FinishTime
Information
KeepForever
LogLocation
Quality
RequestedByRequestedFor
SourceGetVersion
StartTime
Status
TestStatus
Uri
Methods
Events
Interface
Properties
BuildServer
CommandLineArguments
CustomGetVersion
DropLocation
GetOption
Id
PriorityQueuePosition
QueueTime
RequestedBy
RequestedFor
Status
Methods
Enum
Individual
Batch
Schedule
ScheduleForced
DefaultBuildAgent
Schedules
BuildServer
BuildAgents
BuildDefinitions
BuildDefinition
Build
BuildAgent
BuildDefinition
ContinuousIntegrationType
TeamFoundationServer
IBuildDefinition
TeamProject
IQueuedBuildIBuildAgent
IBuildDetail
IBuildServer
TeamFoundationServer
ContinuousIntegrationType
ISchedule
-
8/14/2019 TFS2008 Whats New
39/42
-
8/14/2019 TFS2008 Whats New
40/42
-
8/14/2019 TFS2008 Whats New
41/42
Summary
Team Build allows for consistent and repeatable builds
MS Build engine support provides for limitlessextensibility
Visual Studio 2008 Team Foundation Server version ofTeam Build provides dramatic improvement
-
8/14/2019 TFS2008 Whats New
42/42
Q&A
Contact me via blog or e-mail:
http://www.woodwardweb.com