Stldodn 2014 TFS Care and Feeding

50
Configuration, Maintenance, and the Awesome Tools I Can’t Live Without! Angela Dugan [email protected]

description

Keeping TFS well maintained and happy for the long haul. Also covers some of my favorite power tools that no admin should live without

Transcript of Stldodn 2014 TFS Care and Feeding

Page 1: Stldodn 2014 TFS Care and Feeding

Configuration, Maintenance, and the Awesome Tools I Can’t Live Without!

Angela Dugan

[email protected]

Page 2: Stldodn 2014 TFS Care and Feeding

Polaris Solutions ALM Practice Mgr since Jan ‘12

Been in the software industry since 1999

Runs the Chicago ALM User Group

ALM MVP, PSM, PSD

Has a *possibly* unhealthy love of Halloween

Shameless self promotion

Polaris Solutions- http://www.polarissolutions.com/

Chicago Visual Studio ALM User Group - http://www.chicagoalmug.org/

Twitter: @OakParkGirl, @ChicagoALM, @TeamPolaris

Blog - http://www.tfswhisperer.com/

Page 3: Stldodn 2014 TFS Care and Feeding

http://polarissolutions.com

Page 4: Stldodn 2014 TFS Care and Feeding

Managing TFS Templates

Managing TFS Security

Other TFS Admin Tools

Page 5: Stldodn 2014 TFS Care and Feeding

Get it right the first time!

Before you move forward with TFS, think about the things you cannot easily change:

• Server architecture/topology

• Project structure/hierarchy

• SCM strategy(Centralized vs. DCVS)

• Process templates

Page 6: Stldodn 2014 TFS Care and Feeding

TF Server

Project Collection 1

Team Project C

Roll-up team

Sub-Team 1

Sub-Team 2

Project Collection 2

Team Project A

Team Project B

Web Team

Mobile Team

Page 7: Stldodn 2014 TFS Care and Feeding

TPC = Collection of *tightly related* Team Projects

TPC = SQL Database

Can be backed up and restored individually

No sharing of:

Work Items

Source Code

Queries

Reports

Build Controllers

Team Project Collections CANNOT be renamed

Page 8: Stldodn 2014 TFS Care and Feeding

TF Server

Project Collection 1

Team Project C

Master team

Sub-Team 1

Sub-Team 2

Project Collection 2

Team Project A

Team Project B

Web Team

Mobile Team

Page 9: Stldodn 2014 TFS Care and Feeding

Team Project <> “Project”

TP = Logical view of subset of TPC data

Team Projects Contain

1 Process Template & SCM tool

1 SharePoint portal (optional)

1 Reports site (optional)

Work Items, Source Code, Reports, and Queries CAN cross Team Project boundaries.

BUT… no sharing of Work Item Templates and Definitions, Build Definitions, Areas and Iterations, Work Items cannot be MOVED to another Team project, only copied

Team Projects REALLY cannot be renamed

Page 10: Stldodn 2014 TFS Care and Feeding

TF Server

Project Collection 1

Team Project C

Master team

Sub-Team 1

Sub-Team 2

Project Collection 2

Team Project A

Team Project B

Web Team

Mobile Team

Page 11: Stldodn 2014 TFS Care and Feeding

Named group of users

Provides narrowed scope for viewing work items and status

Can be used to secure access to Team Project artifacts

Each team has their own planning tools and views

*Does not have to map to traditional people teams

Page 12: Stldodn 2014 TFS Care and Feeding
Page 13: Stldodn 2014 TFS Care and Feeding

Advantages

Teams can be categorized into sub-teams

Teams are allocated their own, isolated backlogs based on mapped areas

Teams are flexible, can be easily retired and recreated as needed

Challenges

May not map to your existing usage of Areas

Teams cannot be shared across Team Projects

Teams are flat user lists

Team capacities do not “roll up” automatically to parent teams

Page 14: Stldodn 2014 TFS Care and Feeding
Page 15: Stldodn 2014 TFS Care and Feeding

Absolute minimum TFS administration overhead

Easy sharing of code, work items, builds, etc.

Allows for organizational portfolio management in TFS

Great in theory, complicated in practiceCan result in very deep hierarchies of Areas and Iterations

Builds folder may get crowded and unwieldy

All users must agree on a process template (not always easy)

Security can be VERY complex if granular artifact isolation is required

Page 16: Stldodn 2014 TFS Care and Feeding

Consideration Recommendation

Codebases are being shared Create New TP or Add to Existing TP

Database level artifact isolation required (compliance) New Team Project Collection

Organizational portfolio management needed ONE Team Project

Desire to minimize administration overhead Create New TP or ideally Add to Existing TP

Ability to easily scale due to database growth New Team Project Collection or split TPC

Need to hand off code/project to client New Team Project Collection or split TPC

Need a new process template or SCM (TFGit) New Team Project

Teams don’t want their code and work items “touching” Couples counseling

Page 17: Stldodn 2014 TFS Care and Feeding

Managing TFS Templates

Managing TFS Security

Other TFS Admin Tools

Page 18: Stldodn 2014 TFS Care and Feeding

Agile, CMMI, Scrum included

Many free 3rd Party options

Customize to match YOUR process

Defines:Who is on your team?

What can people do?

How should they do it?

Page 19: Stldodn 2014 TFS Care and Feeding

Behind the scenes it’s just a bunch of XML Files

Page 20: Stldodn 2014 TFS Care and Feeding

Don’t customize before evaluating OOB first!

Yes you can customize. But SHOULD you?

Keep a “sandbox” TPC (ideally a test TFS instance) for piloting customizations

Keep changes additive whenever possible

Keep customization consistent across Team Projects if possible

Apply an ALM process to releasing and testing customizations

Page 21: Stldodn 2014 TFS Care and Feeding

It’s just XML. Manage it like any code!

Page 22: Stldodn 2014 TFS Care and Feeding

TFS Structure and Anatomy

Managing TFS Templates

Managing TFS Security

Other TFS Admin Tools

Page 23: Stldodn 2014 TFS Care and Feeding

Team Foundation Server Instance

Team Foundation Server Team Collection

Team Foundation Server Team Project

Team Foundation Server Teams

Team Foundation Web Access

SharePoint Site Collection

SharePoint Sites

Reports Server

TFS group security and permissions can be found here: http://msdn.microsoft.com/en-us/library/vstudio/ms252587.aspx

SharePoint security here: http://office.microsoft.com/en-us/sharepoint-server-help/manage-membership-of-sharepoint-groups-HA101794106.aspx?CTT=5&origin=HA101794118

Pre-defined roles for SSRS can be found here: http://msdn.microsoft.com/en-gb/library/ms157363.aspx

Page 24: Stldodn 2014 TFS Care and Feeding

TFS Permissions Managed via Admin Console and Web

Permissions Limited to Team Projects

Permissions Inherited via Group Membership

SharePoint Permissions Managed via Central Admin and SharePoint Site Security

Permissions can be scoped to Collection or Site

Permissions Inherited via AD Group Membership

Reporting Permissions Managed via Reports Server Site

Permissions can be scoped to Server or Project Folders

Permissions Inherited via AD and/or SharePoint Group Membership

Yes, there are THREE separate places to manage security!

http://msdn.microsoft.com/en-us/library/ms253094%28v=vs.110%29.aspx

Page 25: Stldodn 2014 TFS Care and Feeding
Page 26: Stldodn 2014 TFS Care and Feeding

Permissions are inherited from group membership*.

Permissions can be allow, deny, or “not set”. For almost all permissions, deny trumps

allow*.

If permissions are not explicitly set to allow, they are implicitly denied unless an allow has

been inherited via group membership (“inherited allow”).

If a user belongs to multiple groups, and ANY one group has a specific permission set to

deny, that user will not be able to perform tasks that require that permission.

TFS, TPC, and TP Administrator level permissions CANNOT be edited.

*With build, version control, and work item related artifacts, explicit permissions that are set on a particular object override those that are inherited from the parent

objects. This allows you to do things like allow a user access to a root source control folder, but deny them access to one of that folder’s branches.

Page 27: Stldodn 2014 TFS Care and Feeding
Page 28: Stldodn 2014 TFS Care and Feeding

Managing TFS Templates

Managing TFS Security

Other TFS Admin Tools

Page 29: Stldodn 2014 TFS Care and Feeding

TFS Power Tools: TFS extensions for managing TFS resources

and providing advanced capabilities.

CodePlex Add-Ons: community based, often authored by

Microsoft employees, not officially supported

Visual Studio Gallery: similar to CodePlex, officially supported by

Microsoft

Third-Party Plug-ins: usually free, extends TFS capabilities

Page 30: Stldodn 2014 TFS Care and Feeding

TFS Power Tools:TFS Admin ReportsTFS Backup and RestoreCheck-in Policy Add-on PackProcess EditorBest Practices Analyzer

CodePlex/VS GalleryTeam Project Manager

Third-Party ToolsAttrice Sidekicks

Page 31: Stldodn 2014 TFS Care and Feeding

Activity LogEvery command that every user has executed against TFS for the last 14 days.

TFS Job MonitoringTFS Background Job Agent schedules and queues jobs within TFS

Total Run Time - How long jobs take to Execute

Number of Jobs Run - Number of times jobs are run and status

Average Run and Queue Time - Number of jobs executing at a particular time, average time that they waited in the queue, and average run time

Job Queue - which jobs are currently queued, their priorities and when they are expected to start.

Page 32: Stldodn 2014 TFS Care and Feeding
Page 33: Stldodn 2014 TFS Care and Feeding
Page 34: Stldodn 2014 TFS Care and Feeding

Used to be a Power Tool, now an OOB Feature with TFS 2013

Backups up TFS related databases

Nightly, Manual or Custom

Full, Differential, Transactional

Allows for TPC-level Restore

Notifications Available

Page 35: Stldodn 2014 TFS Care and Feeding
Page 36: Stldodn 2014 TFS Care and Feeding

TFS SCM Add-Ons

Code Analysis

Custom Path

Forbidden patterns

Work Item Queries

Found in TFS Power Tools: http://visualstudiogallery.msdn.microsoft.com/f017b10c-02b4-4d6d-9845-58a06545627f

Page 37: Stldodn 2014 TFS Care and Feeding
Page 38: Stldodn 2014 TFS Care and Feeding

Import/Export/Manage:

Work Item Definitions

Workflow

Form Layout

Global Lists

Open/Edit from file or server

http://visualstudiogallery.msdn.microsoft.com/f017b10c-02b4-4d6d-9845-58a06545627f

Page 39: Stldodn 2014 TFS Care and Feeding
Page 40: Stldodn 2014 TFS Care and Feeding

Scan TFS Instance

Hardware AND Software

Detect Security Issues

Lists non-default settings

Detects non-compliance with

best practices

Recommends remediation

http://msdn.microsoft.com/en-us/library/ee248645%28v=vs.100%29.aspx

Page 41: Stldodn 2014 TFS Care and Feeding

Free TFS Analyzer Tool:View team project activities

View and edit SCM settings

View branch hierarchies

View and edit security group and settings

View and edit build templates

View and edit build definitions

Compare templates

View and edit process configuration

Supports TFS 2008+

http://teamprojectmanager.codeplex.com/

Page 42: Stldodn 2014 TFS Care and Feeding
Page 43: Stldodn 2014 TFS Care and Feeding

Visualization and Admin Add-On for TFS

Plugs right into Visual Studio

Provides additional features around:

Workspaces

Security and Permissions

Code Review

SCM History and Labels

FREE, yes, I know!http://www.attrice.info/

Page 44: Stldodn 2014 TFS Care and Feeding
Page 46: Stldodn 2014 TFS Care and Feeding

Grant H’s blog: http://blogs.msdn.com/b/granth/

DTDPS TFS Deployment Program: http://bit.ly/1xdH2IH

Angela’s Slide decks: http://www.slideshare.net/angelabinkowski

Angela’s blog: http://www.tfswhisperer.com/

Page 47: Stldodn 2014 TFS Care and Feeding

Platinum Sponsors

Silver Sponsors

Gold Sponsors

Page 48: Stldodn 2014 TFS Care and Feeding

dodn14.azurewebsites.net

Quick access to conference info

Build your custom agenda

Anonymously rate the sessions you attended

Share with the Twitter-verse

Page 49: Stldodn 2014 TFS Care and Feeding
Page 50: Stldodn 2014 TFS Care and Feeding