• No results found

CHAPTER 1: INTRODUCING TEAM FOUNDATION SERVER

N/A
N/A
Protected

Academic year: 2021

Share "CHAPTER 1: INTRODUCING TEAM FOUNDATION SERVER"

Copied!
16
0
0

Loading.... (view fulltext now)

Full text

(1)

INTRODUCTION xxvii

PART I: GETTING STARTED

CHAPTER 1: INTRODUCING TEAM FOUNDATION SERVER 2012 3

What Is Team Foundation Server? 3

What’s New in Team Foundation Server 2012 5

Version Control 5

Code Reviews 6

Managing Personal Work 6

Web Access 6

Project Management 7

Agile and Scrum Product Management 7

Stakeholder Feedback 7

Build 7

Acquisition Options 7

Team Foundation Service 8

Express 9

Trial 9

Volume Licensing 10 MSDN Subscriptions 10

Microsoft Partner Network 11

Retail 11

Summary 11

CHAPTER 2: PLANNING A DEPLOYMENT 13

Identifying and Addressing Software Engineering Pain 13

Transparency into the Release or Project 14 Collaboration Across Diff erent Teams and Roles 15 Automated Compilation, Testing, Packaging, and Deployment 15

Managing Test Plans 15

Parallel Development 15

Adopting Team Foundation Server 16

Adoption Timeline 16

Phased Approach 17

ftoc.indd xi

(2)

Hosting Team Foundation Server 18

Identifying Aff ected Teams 19

Generating Consensus 19

Team Foundation Server Administrator 20 Pilot Projects 21

Migration Strategies 21

Version Control 21

Work Item Tracking 22

Structuring Team Project Collections and Team Projects 23

Considering Limitations in Team Foundation Server 25

Server Limitations 28

Preparation for a Team Foundation Server Environment 29

Understanding the Architecture and Scale-Out Options 29 Hardware Requirements 32 Virtualization 33 Planning for Software Prerequisites 34

Service Accounts 37

File Share Folders 38

SMTP Server 38

Firewall Concerns and Ports Used 39

Friendly DNS Names 39

Legacy Visual Studio Versions 41

Summary 42

CHAPTER 3: INSTALLATION AND CONFIGURATION 43

What You’ll Need 44

Team Foundation Server 2012 44

Team Foundation Server 2012 Installation Guide 45

SQL Server 2012 45

Operating System 46

SharePoint 46

Client Software 47

Service Packs and Other Updates 47

Installing Team Foundation Server 48

Installation Types 49

Confi guring Team Foundation Server 51

Creating Your First Team Project 56

Confi gure Friendly DNS Names 57

(3)

xiii

CHAPTER 4: CONNECTING TO TEAM FOUNDATION SERVER 59

Team Foundation Server Architecture 59

Addressing Team Foundation Server 61

Introducing Team Foundation Server Security and Roles 63

Users 63 Groups 64

Permissions 65

Team Explorer 65

Understanding Team Explorer in Visual Studio 66 Connecting to Team Foundation Server from Eclipse

and Cross-Platform 71

Alternate Ways to Connect to Team Foundation Server 74

Accessing Team Foundation Server Through a Web Browser 74 Using Team Foundation Server in Microsoft Excel 75 Using Team Foundation Server in Microsoft Project 76 Windows Explorer Integration with Team Foundation Server 77 Connecting Microsoft Test Manager to Team

Foundation Server 78

Access to Team Foundation Server via Third-Party Integrations 79

Summary 80

PART II: VERSION CONTROL

CHAPTER 5: OVERVIEW OF VERSION CONTROL 83

What Is Version Control? 83

Repository 84

Working Copy 85

Working Folder Mappings 85

Get 86 Add 86 Check-out 86 Changeset 87 Check-in 87 History 87

Branching and Merging 88

Common Version Control Products 88

Microsoft Visual SourceSafe 89

Apache Subversion 89

ftoc.indd xiii

(4)

Team Foundation Server 90 Distributed Version Control Systems 91

Summary 93

CHAPTER 6: USING TEAM FOUNDATION VERSION CONTROL 95

Getting Started with Team Foundation

Server Version Control 96 Learning what’s New in Team Foundation

Server 2012 Version Control 98 Team Foundation Server Version Control Concepts 99

Workspace 99 Working Folder Mappings 103 Get 107 Check-out 109 Locks 109

Check-in of Pending Changes 110

Undo Pending Changes 117

Changeset 117 Shelvesets 119 Branches 120

Using Source Control Explorer 121

Viewing History 123

Labeling Files 123

Recovering When Things Go Wrong 124

Keeping on task with My Work 125

Team Foundation Server

Version Control in Eclipse 130

Installing the Team Foundation Server Plug-in for Eclipse 131 Sharing Eclipse Projects in Team Foundation Server 133 Importing Projects from Team Foundation Server 135 Diff erences Between the Eclipse and Visual Studio Clients 137 Team Foundation Server Version Control from

the Command Line 137

Getting Help 138

Using the Command Line 138

Team Foundation Version Control Power Tools

and Third-Party Utilities 139

Microsoft Visual Studio Team Foundation

Server Power Tools 139

Team Foundation Server MSSCCI Provider 140

Confi guring Version Control 140

(5)

v xv

Switching Version Control to Team Foundation Server 141

Working with Team Foundation Server for Visual

SourceSafe Users 142

Using Team Foundation Server for Subversion Users 144

Summary 146

CHAPTER 7: ENSURING CODE QUALITY 147

What Is Quality? 148 Enforcing Quality 149

Check-In Policies 149

Monitoring Check-In Policy Overrides 152 Check-In Policy Pack in Power Tools 154 Creating Custom Check-In Policies 155

Deploying Check-In Policies 159

Gated Check-In 164

Why Gated Check-In? 165

When Not to Use Gated Check-In 166

Setting Up a Gated Check-In Build 167

Checking In for Validation 168

Reconciling the Workspace 168

Managing Code Reviews 170

Requesting a Code Review 171

Performing a Code Review 173

Completing the Code Review 175

Summary 176

CHAPTER 8: MIGRATION FROM LEGACY

VERSION CONTROL SYSTEMS 177

Migration Versus Upgrade 178

Upgrade 178 Migration 178

Migrating History or Latest Version 179

Migrating from Visual SourceSafe 180

Preparing to Use the VSS Upgrade Wizard 181 Using the Visual SourceSafe Upgrade Wizard 182

Team Foundation Server Integration

Platform 188

Popular Third-Party Migration Tools 190

Subversion, CVS, and StarTeam 190

ClearCase 190

Summary 191

ftoc.indd xv

(6)

CHAPTER 9: BRANCHING AND MERGING 193 Branching Demystifi ed 193 Branch 194 Merge 194 Confl ict 194 Branch Relationships 195 Baseless Merge 196 Forward/Reverse Integration 196

Common Branching Strategies 196

No Branching 197

Branch per Release 198

Code-Promotion Branching 199

Feature Branching 200

Implementing Branching Strategies 201

The Scenario 202

The Plan 202 Implementation 203 Dealing with Changesets 208 Tracking Change Through Branches 220

Summary 222

CHAPTER 10: COMMON VERSION CONTROL SCENARIOS 223

Setting Up the Folder Structure for Your Branches 223

Application Source Code 224

Automated Tests Source Code 224

Architecture Assets 224

Database Schema 225

Installer Assets 225

Build and Deployment Assets 225

Third-Party Source Code/Dependencies 226

Folder Inside Branch 226

Folder at Team Project Level 228

Internal Shared Libraries 230

Choosing a Location in Version Control 230 Storing Library Assemblies as Dependencies 233 Branching into Product Family Branches 233

Managing Artifacts Using Team Foundation Server 235

SQL Reporting Services Encryption Key Backup 235

(7)

xvii

Custom Build Assemblies 237

Master Build Process Templates 238

Source Code for Custom Tools 238

Summary 239

PART III: PROJECT MANAGEMENT

CHAPTER 11: INTRODUCING WORK-ITEM TRACKING 243

Project Management Enhancements in Team Foundation

Server 2012 244

Rich Work-Item Relationships 244

Test Case Management 245

Enhanced Reporting 245

SharePoint Server Dashboards 246

Agile Planning Tools in Team Web Access 246

Work Items 247

Work-Item Types 247

Areas and Iterations 249

Process Templates 252

MSF for Agile Software Development 253 MSF for CMMI Process Improvement 255

Visual Studio Scrum 258

Third-Party Process Templates 260

Custom Process Templates 260

Managing Work Items 260

Using Visual Studio 260

Using Microsoft Excel 266

Using Microsoft Project 267

Using Team Web Access 268

Using Third-Party Tools 270

Project Server Integration 271 Summary 271

CHAPTER 12: CUSTOMIZING PROCESS TEMPLATES 273

Anatomy of a Process Template 273

Plug-in Files 274

Default Security Groups and Permissions 276 Initial Area and Iteration Nodes 277

Work Item Type Defi nitions 278

ftoc.indd xvii

(8)

Initial Work Items 289

Work Item Queries and Folders 289

Microsoft Project Column Mappings 290 Version Control Permissions and Settings 290 SharePoint Project Team Portal

Document Library Settings 291 SQL Reporting Services Report Defi nitions 292

Using the Process Template Editor 292

Installing the Process Template Editor 293

Working with a Process Template 293

Using an XML Editor and WITAdmin 294

Deploying Updates to Process Templates 296

Uploading Process Templates in Team

Foundation Server 296

Editing Work Items on an Existing Team Project 297

Customizing Agile Tools 298

Metastates 299 Eff ort, Remaining Work, and Stack Rank 299

Defi ning the Team 300

Other Process Confi guration Customizations 300

Common Work Item Type Customizations 301

Adding New States 301

Displaying Custom Link Types 302

Using Display Name Changes

(New syncnamechanges attribute) 302

Introducing Custom Work Item Controls 303

Work Item Clients 303

Work Item Control Interfaces 304

Deploying Custom Controls 308 Work Item Custom Control Deployment Manifest 309 Using the Custom Control in the Work Item

Type Defi nition 309

Summary 310

CHAPTER 13: MANAGING TEAMS AND AGILE PLANNING TOOLS 311

Defi ning a Team 312

Maintaining Product Backlogs 317

Planning Iterations 319

Tracking Work 322

Customization Options 325

(9)

xix

Requesting Feedback 326

Providing Feedback 328

Voluntary Feedback 331

Summary 332

CHAPTER 14: REPORTING AND SHAREPOINT DASHBOARDS 333

What’s New in Team Foundation Server 2012 334

Cross-Collection Reporting Support 334 Changes to the Relational Warehouse 334 Changes to the Analysis Services Cube 335 Optional and Richer SharePoint Integration 337

Team Foundation Server Data Warehouse 337

Operational Stores 338

Relational Warehouse Database and Warehouse Adapters 338 Querying the Relational Warehouse Database 339

Analysis Services Cube 342

Data Warehouse Permissions 344

SharePoint Integration 344

SharePoint Extensions 345

Excel Services and Dashboard Compatibility 345

Creating Reports 347

Tools 347

Excel Reporting from a Work-Item Query 347 SQL Server Reporting Services Reports 349

SharePoint Dashboards 355

Advanced Customization 357

Customizing Project Portals 357

Customizing Warehouse Adapters 357

TfsRedirect.aspx 358

Summary 358

CHAPTER 15: PROJECT SERVER INTEGRATION 359

Overview 359

Project Server Essentials 360

Bidirectional Synchronization 361 Relationship between Team Projects and Enterprise Projects 366

Initial Confi guration 366

Necessary Permissions 366

Command-Line Tool for Confi guration 367 Project Server Installation Components 367

ftoc.indd xix

(10)

One-Time Integration Steps 367 Mapping Enterprise Projects to Team Projects 368 Necessary Software for Project Managers 369

Summary 369

PART IV: TEAM FOUNDATION BUILD

CHAPTER 16: OVERVIEW OF BUILD AUTOMATION 373

Let’s Build Something 373

What Is Build Automation? 374

Scripting a Build 376 Make 376 Apache Ant 377 Apache Maven 378 NAnt 379 MSBuild 379

Windows Workfl ow Foundation 383

Using Build Automation Servers 383

CruiseControl 384

CruiseControl.NET 384

Hudson / Jenkins 384

Team Foundation Server 385

Adopting Build Automation 386

Summary 387

CHAPTER 17: USING TEAM FOUNDATION BUILD 389

Introduction to Team Foundation Build 389

Team Foundation Build Architecture 390

Setting up the Team Foundation Build Service 392

Installing Team Foundation Build 393 Confi guring the Team Foundation Build Service 393 Additional Software Required on the Build Agent 399

Working with Builds 399

Creating a Build Defi nition 399

Queuing a Build 411

Build Notifi cations and Alerts 413

Managing Builds 415

Managing Build Quality Descriptions 420 Managing Build Controllers and Build Agents 420

(11)

xxi

DefaultTemplate Process 423

Building Ant and Maven Projects with Team Foundation Server 435

Summary 436

CHAPTER 18: CUSTOMIZING THE BUILD PROCESS 437

Introduction to Windows Workfl ow Foundation 438

Visual Basic.NET Expressions 438

Custom Workfl ow Variables 440

Custom Build Parameters 442

Workfl ow Activities 449

When to Use MSBuild versus WF 457

Custom Build Workfl ow Activities 458

How to Create a Custom Build Activity 458 Integrating Activity into the Build Process Template 473 Deployment of Custom Build Activities 478

Customizing the Build Report Output 480

Creating a Log Data Visualizer 480

Build Summary Report Custom Section 481

Customizing the Build Process to Stamp

the Version Number on Assemblies 482

Defi ning Custom Build Process Parameters 483 Allowing the Functionality to Be Optional 484 Defi ning Local Workfl ow Variables 485 Initializing the Local Workfl ow Variables 486 Finding Matching Assembly Info Files 486 Adding the Custom TfsVersion Activity 487

Summary 488

PART V: ADMINISTRATION

CHAPTER 19: INTRODUCTION TO TEAM FOUNDATION SERVER

ADMINISTRATION 493

Administrative Roles 494

Infrastructure Administrator 494

Team Foundation Server Administrator 494

Project Administrator 494 Logical Architecture 495 Client Tier 496 Application Tier 496 Data Tier 496 ftoc.indd xxi ftoc.indd xxi 12/4/2012 1:55:10 PM12/4/2012 1:55:10 PM

(12)

Built-In Administration Tools 497

Team Foundation Administration Console 498 Command-Line Confi guration Tools 516

Other Administration Tools 519

Team Foundation Server Power Tools 520

Best Practices Analyzer 520

Team Foundation Server Administration Tool 522

Team Foundation Sidekicks 523

Summary 524

CHAPTER 20: SCALABILITY AND HIGH AVAILABILITY 525

An Evolving Architecture 526 Limiting Factors 527 Microsoft Recommendations 527 Data Tier 529 Application Tier 531 Web Access 532 Warehouse 532 Team Foundation Proxy 533

Principles 534

Scale Out To Multiple Servers 535

Eliminate Single Points Of Failure 535

Anticipate Growth 535

Keep It Simple 535

Solutions 535

Data Tier 536

Application Tier and Web Access 539

Virtualization 546

Summary 547

CHAPTER 21: DISASTER RECOVERY 549

Business Continuity and Recovery Goals 549

Defi ning Responsibilities 550

Backing Up Team Foundation Server 550

Components to Back Up 551

Types of Database Backups 552

Important Considerations 554

Creating a Backup Plan 556

Team Foundation Server Backup Plan Details 563 Restoring a Backup to the Original Server 566

(13)

xxiii

CHAPTER 22: SECURITY AND PRIVILEGES 575

Users 575 Domain Users 575 Local Users 577 Identity Synchronization 577 Groups 579 Domain Groups 580 Distribution Groups 580 Local Groups 580

Team Foundation Server Groups 580

Permissions 583

Server Permissions 584

Team Project Collection Permissions 584

Team Project Permissions 586

Work Item Tracking 587

Version Control Permissions 591

Build Permissions 594

Reporting 594

Security Management 595

Deny, Allow, and Unset Permissions 595

Use Active Directory Groups 596

Avoid Granting Individual User Permissions 596

Use Inheritance 596

Tools 597

Command-Line Tools 597

Summary 597

CHAPTER 23: MONITORING SERVER HEALTH

AND PERFORMANCE 599

System Health 600

SQL Server 601

Dynamic Management Views (DMV) 601

Currently Running Processes 602

SQL Wait Types 607

Storage Health 608

Memory Contention 609

Team Foundation Server 610

Command Log 610

Active Server Requests 612

Performance Counters 614

Server Tracing 615

ftoc.indd xxiii

(14)

Client Performance Tracing 616

Job History 618

Storage Usage 619

Data Warehouse 621

Tools 621

Performance Analysis of Logs (PAL) Tool 622 Team Foundation Server Best Practices Analyzer (BPA) 623 Team Foundation Server Management Pack for

System Center Operations Manager (SCOM) 624

Summary 625

CHAPTER 24: TESTING AND LAB MANAGEMENT 627

Software Testing 628

Test Case Management 629

Lab Management 629

Testing Architecture 630

Microsoft Test Manager 632

Test Plans 633 Test Suites 634 Test Cases 634 Test Runs 634 Exploratory Testing 636 Actionable Bugs 636 Test Settings 636

Test Attachments Cleaner 638

Assigning a Build to a Test Plan 639

Analyzing Impacted Tests 640

Build Retention 640

Custom Work Item Types 641

Test Automation 641

Visual Studio Lab Management 643

What’s New for Lab Management in

Team Foundation Server 2012 644

Installing and Confi guring Lab Management 645

Maintaining a Healthy Test Lab 652

Troubleshooting 655

(15)

v xxv

CHAPTER 25: UPGRADING FROM EARLIER VERSIONS 657

Overview 658

In-Place Upgrades Versus Migrating to

New Hardware 658 Planning Upgrades 660 Upgrading Prerequisites 661 SQL Server 662 SharePoint 662 Project Server 663 System Center 663

Using the Confi guration Utility 663

Upgrade Wizard 664

Verifi cation of Upgrade 665

Upgrading Legacy Team Projects 666

Feature Enablement 667

Allowing Access to Premium Features 669

Automated Builds 670

Enable Local Workspaces 672

Deploying New Reports 672

Deploying New SharePoint Team Portal Site 672 Upgrading Lab Management Environments 673

Summary 674

CHAPTER 26: WORKING WITH GEOGRAPHICALLY

DISTRIBUTED TEAMS 675

Identifying the Challenges 676

Latency Over the Wide Area Network (WAN) 676

Sources of Network Traffi c 677

Solutions 679

Central Server with Remote Proxy Servers 679

Multiple Distributed Servers 679

Mirroring 680

Remote Desktops 680

Internet-connected “Extranet” Server 680

Metadata Filtering 680

Build Servers 681

ftoc.indd xxv

(16)

Local Build Server Farm 681

Remote Build Server Farm 681

Team Foundation Server Proxy 682

How the Team Foundation Server Proxy Works 682 Compatibility 682

Confi guring Proxies 682

Seeding Proxies 685

Personal Proxies 685

Mirroring with the Team Foundation

Server Integration Tools 686

Capabilities 686

Examples 688

Working Offl ine 689

Version Control 689

Forcing Offl ine 690

Work Items 691

Other Considerations 692

Maintenance Windows and Time Zones 692 Online Index Operations with SQL Server Enterprise 693

Distributed Application Tiers 693

SQL Mirroring 694

Summary 694

CHAPTER 27: EXTENDING TEAM FOUNDATION SERVER 695

Extensibility Points 696

.NET Client Object Model 697

Connecting to the Server 698

Handling Multiple API Versions 699

Distributing the Client Object Model 701

SOAP Event Subscriptions 701

Available Event Types 702

Building an Endpoint 703

Adding the Subscription 704

Listing All Event Subscriptions1 705

Server Object Model 705

Server Extensibility Interfaces 705

Server Plug-Ins 708

Visual Studio Extensibility 721

Other Resources 723 Summary 724

References

Related documents

Windows Microsoft® Windows Server® 2012 Foundation Microsoft® Windows Server® 2012 Essentials Microsoft® Windows Server® 2012 Standard Microsoft® Windows Server® 2012

Microsoft® Windows Server® 2012 Datacenter Microsoft® Windows Server® 2012 Standard Microsoft® Windows Server® 2012 Essentials Microsoft® Windows Server® 2012 Foundation

Microsoft® Windows Server® 2012 Datacenter Microsoft® Windows Server® 2012 Standard Microsoft® Windows Server® 2012 Essentials Microsoft® Windows Server® 2012 Foundation

Visual Studio Team Foundation Server 2010 Project Server FP  Visual Studio Team Foundation Server 2010 Service Pack 1 . Visual Studio Team Foundation Server

This three-day, instructor-led course provides delegates with the knowledge and skills to deploy, configure, and manage Microsoft Team Foundation Server 2013 and related

Team Foundation Server • SDLC Management (SDLC – Software Development Life Cycle) • Software Team Collaboration • Source Code Management • Supports Agile, Scrum, CMMI •

Microsoft Team Foundation Server 2010 2010 MS VS Scrum 1.0 Windows MessageQueue TFS Event Subscriber Plugin ScrumDesk.. Project ScrumDesk

 Configure the server firewall to ensure all servers running Windows Server 2008/R2 and higher have “Remote Event Log Management” enabled: RAP as a Service Client might be unable