Documente Academic
Documente Profesional
Documente Cultură
2
Tightly Integrated
Work Item Tracking
3
Demo - Work Item tracking
Team Foundation Version Control
• Full featured software configuration management tool
– 3-Tier ASP.NET web service
– Leverages SQL Server 2005
– Advanced SCM capabilities
– Focuses on key development scenarios
5
Developer Check-in
• All check-in activities in a single UI
– Validate and commit source changes
– Resolve work items
– Send e-mail
6
Check-in details
Visual
Studio
Work Item WorkItem 33231
Workspace
Tracking
Checkin
3 Update
Work Items Artifact
1 Validate 2 Link
Policies Commit Change Set 727012
Changes Change Set 727012
Change Set 727012
Checkin Policy Change Set 727012
Engine Change Set 727011
Change Set 727012
V2 V5 V1
V3 V4
WI Association
Static Analysis
Custom Policy
V5
Unit Testing
Version
Control
Integration Infrastructure
4
Events Raised for Check E-mail
3rd party sync purposes Notification
7
Demo – Integrated Version Control and Work Items
Parallel Development
• Path-space branching
– Branches appear to have new server paths
– Aids in isolation scenarios
• Powerful merging
– Merge file adds, deletes, renames, etc.
– Computes changes that need merging
– Can cherry-pick individual changes
9
Innovative Shelving
• Capture changes without a check-in
– Optionally restore unmodified files
• Scenarios:
– Interrupted work
– Backup/checkpoint work-in-progress
– Transfer changes
– Code review or buddy test
10
Shared Checkout
• Shared or exclusive – you choose!
– Customize for your team project
– Customize for file types
11
Traditional Promotion Modeling
Source baselines of varying quality
foo.cs 12 17 19 20
bar.cs 10 18 19 21
12
Team Foundation Promotion Modeling
Branches of varying quality
foo.cs 9 12 14 15 19 21 25
$/…/Dev
bar.cs 9 10 15 16 20 22 25
foo.cs 13 17 23 26
$/…/Test
bar.cs 13 17 23 26
foo.cs 18 24 27
$/…/Prod
bar.cs 18 24 27
13
Demo – Branching, Merging, Shelving
Check-in Policy
16
Check-in Policy
17
Check-in Policy
› Microsoft.TeamFoundation.VersionControl.Client.PolicyBase
› Class must be serializable
› Must be registered on each developer desktop
18
Team Build
What Is Team Build?
20
Overall Architecture of MSBuild and Team Build
Team Build
Web Service Tasks Loggers .TARGETS
.NET Framework
21
Build Automation
Out-of-the-box daily build
• Good build process is hard to achieve from scratch
– Sometimes too difficult to attempt
– Requires complex combination of skills
22
Build Options
• Check-ins can optionally trigger a new build (Continuous Integration scenario)
– Check-ins can cause a build to be queued or can be accumulated
– Build frequency can be throttled
23
Team Build Demo
The <MSBuild …/> Task
25
MSBuild Task Implementation
26
Project-to-Project References
<MSBuild Projects=“@(ProjectReference)”>
<Output TaskParameter=“TargetOutputs” ItemName=“ResolvedReference” />
</MSBuild>
27
Passing In Properties To The Child Project
<Target Name=“BuildDebugAndRelease”>
<MSBuild Projects=“MyApp1.vbproj”
Targets=“Build”
Properties=“Configuration=Debug” />
<MSBuild Projects=“MyApp1.vbproj”
Targets=“Build”
Properties=“Configuration=Release” />
</Target>
28
Team Build
Architecture
Application Tier
Team Build Web Build Machine
Services
Data Tier
Sources
Team Work items MSBuild
Foundation
warehouse Team Build data
29
Questions?