Friday, March 7, 2014

MVA Course: Administering TFS 2012 Jump Start (Modules 1 & 2)

Install and Configure Team Foundation Server

The first two modules of this course cover installing and configuring TFS. It covers installation prerequisites, including OS and SQL Server requirements. They talk about how services should be configured. I took plenty of notes, the bulk of which are verbatim off the slides (which works because they did a lot of reading right off the slides.


Notes for Modules 1 & 2:


http://examcr.am/TyAYs3 ( site for the exam )

Channel9 Links for TFS


*******************************************************************************************
MODULE 1
*******************************************************************************************


- SQL Server version support
   - TFS 2012 requires SQL Server 2008 R2 or 2012
   - Basic install option installs SQL Server 2012 Express
   - Can use existing install as long as it meets certain requirements
- installing TFS in a multi-tier or multi-machine environment

// TFS Admin and Installation guides. .chm files, 
// need to "unblock" for them to open (right click, properties, unblock)
//
// TFS 2012 requires 64 bit operating systems.
// not really worried about client operating systems since this is enterprie level software
// SQL server 2008 R2 and 2012
// requires a reporting account, service account, build account, proxy account, 
// SQL and Sharepoint possibly as well
//
// SQL server installation, question about defaults
// we have to be selective about which features we need in SQL
// We need:
// Database Engine services (required for TFS)
// Full-text search (required for TFS)
// Analysis service (required for reporting)
// Reporting services (required for reporting)
// Client tools connectivity (required if no SQL Server component is running on TFS server)
// Management tools - basic
//
// MS recommended to use seperate accounts for each SQL service, presenters use the same account
// for the necessary services. Can use an answer file if you are doing many installations

- installing TFS in a load balanced environment
- setting up a version control proxy server

Installation prerequisites:
// 64 bit version of following OS:
// Windows server 2008 SP2
// Windows server 2008 R2
// Windows server 2012 

- IIS is now automatically installed (prior versions made you install it)

SQL Server
- TFS 2012 requires SQL Server 2008 R2 or 2012
- Basic install option installs SQL Server 2012 Express
- Can use existing SQL Server as long as it meets certain requirements 
// in the install.chm file

- SharePoint Foundation 2010
- Install manually or as part of TFS Installation
- Can be on TFS server or different server
- If not installed on TFS Server, requires Extensions for 
 Windows SharePoint Services on the server that is running SharePoint Products

- SharePoint Server 2010
- Standard or Enterprise (enterprise is much more demanding of hardware)
- Enterprise provides access to 5 extra dashboards

// Sharepoint 2013 not on exam. 
// Should avoid putting sharepoint on same server as TFS unless it is only going to be used 
// a smaller team (foundation only). If sharepoint users and TFS users are the same.
// standard and enterprise sharepoint should be no seperate machines
TFS Installation Options
- TFS 2012 supports a much wider range of installation options than previous versions. 
  TFS 2012 installation options include:
- Basic (Not Recommended)
- Standard Single server installation (Not Recommended)
- Advanced (Recommended)
- Application-Tier only
- Upgrading TFS from an earlier release of it
- Build services installation
- Proxy services installation
// for exam, should know the bottom five.
// also need text controllers and test agents

Topology
- Combined App-Tier and Data Tier
- SQL, TFS, and maybe SharePoint foundation on one box
- up to 250 devs, recommended more like 50 max
// simplest version. 
- Seperate App-Tier and Data Tier
- SQL Server and TFS are on seperate machines
- Network Load Balanced
- Multiple TFS App-Tier servers
- SQL Clusters (team project collections or TPCs)

Installing Team Foundation Server in a multi-tier or multi-machine environment
- Multi-tier environments can enhance the availability, scalability, and performance 
  of your application tier. 
- To benefit from multiple application-tier servers, you should ensure that your initial 
  deployment of TFS includes the following characteristics: 
- The application tier and the configuration database are installed on separate servers.
// split app tier data tier
- You used a domain account for the Team Foundation Server service account (TFSSERVICE).
// don't use a built in network account. Work Groups are history, still around but
// many limitations.
- Network Load Balancing (NLB) is deployed.
// supports high availability
The TFS Version Control Proxy
- If you have developers at a remote site who are sharing code with developers at the main site, 
  you might save bandwidth by caching version control files at the remote location. 
  // doesn't provide high availabiltiy - remote location won't take over for main site in outage
  // improves GET operations on version control. Another option to inprove get is to cloak unnecessary
  // files in the workspace
- Team Foundation Server Proxy distributes popular version control files from its cache at the 
  remote site, rather than having multiple developers from the remote site each download the same 
  file from the main site. 
- Your team at the remote site works like they always have, without managing which version control 
  files get loaded into the cache.

 - Its possible to configure TFS for remote site access that optimizes bandwith usage by using caching  

TFS Proxy System Requirements
- You can install Team Foundation Server Proxy on a server that is running one of the
  following server operating systems:
- 64-bit versions of Windows Server 2008 with SP2 (Standard or Enterprise Edition) 
- 64-bit versions of Windows Server 2008 R2 (Standard or Enterprise Edition) 
- 64-bit versions of Windows Server 2012
To change the amount of disk used by the TFS Proxy, you need to edit the PROXY.CONFIG file
PROXY.CONFIG is an XML file.

MSDN Links:
SQL Server version support

installing Team Foundation Server in a multi-tier or multi-machine environment

installing Team Foundation Server in a load-balanced environment

setting up a version control proxy server

Configure the application tier.
- validating an installation
- configuring SMTP for Team Foundation Server
- changing the URL (friendly name)
- changing the default SharePoint web application
- setting up reporting (SQL Server Analysis Services)

To review server status
1. Open the administration console for Team Foundation.
2. Under the server name, choose Application Tier.
3. Review the status of the server components of Team Foundation.
// Just about going into app tier and opening admin console

To review log files
1. Open the administration console for Team Foundation.
2. Under the server name, choose Logs.
3. Find the log that you want to review in the list, and then either double-click it to open it, 
   or highlight it and then choose Enter.
// log files exist in single location
   
Configure SMTP Settings for TFS
- Sending emails is an important capability of Team Foundation Server
- Emails can be configured for TFS Alerts or for sending things such as list of work items to other
  users
- You need to ensure your TFS server has been configured with details for an SMTP server
- You can provide details including SMTP Server, Sender, Credentials, non-standard ports and SSL.

Troubleshooting SMTP
- Make sure any firewalls allows communication between your TFS Server and your SMTP Server
- Make sure your SMTP Server allows anonymous senders to send email or make sure the
  TFSService account has rights to send email

Changing the URL (Friendly Name)  //introduced in 2010
- Part one – On the TFS Server
- On the TFS application-tier, open the administration console for Team Foundation Server.
- In the navigation bar, choose Application Tier, and then click Change URLs. The Change
          URLs window opens.
- In Notification URL, type the URL for the new application-tier server, and then choose OK.
  
- Part two – On the SharePoint Server
- On server running SharePoint, open the administration console for Team Foundation Server.
- In the navigation bar, choose Extensions for SharePoint Products, select the SharePoint 
 Web Application and then click Modify access. The Access for Team Foundation Server
          window opens.
- In URL for Team Foundation Server, type the URL for the new application-tier server, 
 and then choose OK.
// TFS and SharePoint need to be aware of each other, so changing friendly name requires telling
// sharepoint about it.
// can have different names for each TCP.
 
SQL Server Analysis Services
http://examcr.am/Zy6dU9 (add a report server walkthrough)

MSDN Resources for Configure the application tier
validating an installation

configuring SMTP for Team Foundation Server

changing the URL (friendly name)

changing the default SharePoint web application

setting up reporting (SQL Server Analysis Services)

Exam Best Bets for Module 1
Download and read the TFS Install and Administration guide http://examcr.am/10Ln5E4
Make sure you’re well aware of the system requirements
Make sure you’re familiar with multi-server installations
Make sure you are confident configuring integration with SharePoint and Reporting Services



*******************************************************************************************
MODULE 2 Powerpoints
*******************************************************************************************


Notification URL can be changed to a friendly name, Server URL is used internally

Migrate and upgrade Team Foundation Server.
- upgrading to Team Foundation Server 2012 in-place or moving to new hardware
- importing a source base from a non–Team Foundation Server system
- upgrading a Team Project
// Visual SourceSafe only import/migration that would be on test

In-place upgrades use the same hardware you're using now. 
// Going from old version to TFS 2012 on the same hardware.
// A well configured server, everything is happy
// - do backups, test restore
// - works well with virtuallized hardware (snapshot)
// upgrade also covered in Install.chm file
Can also upgrade moving to new hardware which uses a different server machine
// Can do a test upgrade (bring new server up before migrating
// Substantial TFS upgrade (multi TB) may take as long as 16-20hr
// If you are currently on a 32bit OS, you would have to do a move upgrade
// http://examcr.am/15swpUn
// may involve moving multiple app tier servers, could be moving data tier and sharepoint
// as well

// Installation complete on demo machine, going over installation validation
// Advanced Installation has about a dozen pages in the install wizard
// - SQL Server setup
// - can use a built in network service or a dedicated service account
// - both presenters like dedicated, some users like built in because passwords don't expire
//   - definitely need a dedicated service account for build service
//   - best practices analyzer can help keep service current
// - stick with standard ports when configuring App Tier web service
// - configure reporting services, analysis, and report reader account
// - can use a dedicated account for report reader
// - can install and configure SharePoint Foundation, or point to an existing install
// - SharePoint adds libraries and portals
// - can create new team project collection, not terribly useful
// - wizard verifies installation and identifies potential problems

Upgrading from Visual SourceSafe
- Upgrading to Team Foundation Server 2010 involves…
- Creating an XML file for the Analyze feature
- Running the command line utility VSSConverter Analyze
- Optionally creating a user mapping file
- Copy the XML file used above and edit it for the Migrate feature
- Running the command line utility VSSConverter Migrate
// point is it was very time consuming and complicated

- Changes when upgrading to Team Foundation Server 2012
- VSSConverter command line utility is gone // might not be accurate
- Upgrade wizard now found in TFS Administration Console
- Process is much more streamlined – answer questions in a wizard rather 
 than hand crafting XML files
- Upgrade supports both on-premise TFS servers as well as hosted TFS
// 2012 is much easier to migrate to from VSS
TFS Server Admin Console includes a wizard to upgrade from Visual SourceSafe
- Select server
- Select project for migration
- Specify if you want full history or only latest version of files
// exam asks a lot about putting things in order, and sorting questions

What you get automatically when you upgrade
- Description field changes from PlainText to HTML
- Insert inline images into HTML fields
- Merge on save for work items  //whoohoo!
- History tab contains sub-tabs Discussion Only and All Changes
- Team Queries changes its name to Shared Queries
- Each team project is automatically assigned as a default team
- The virtual directory name changes from web to tfs
// consider configuring a build controller service
// exam doesn't look at power tools (like Best Practices Analyzer)
// set up console users and email alerts

List of new features to be enabled
- Agile Planning Tools
- Code Review
- Feedback
- Storyboard Integration
- Hidden Types Category

The Configure Features Wizard
Step 1 – Scan 
- Scan definitions to determine which features are configured and which features are not
// will highlight features it can't find
Step 2 – Determine
- Determine which process template stored in the TPC contains the best match to 
  configure missing features
// wizard tries to find information it need to upgrade projects for you
Step 3 – Change
- For each feature that can be configured, upload the definitions for the new objects 
  or modify existing definitions
// tool is conservative. Making a lot of customizations will result in the wizard 
// pushing the configuration back on the user

MSDN resources for Migrate and upgrade Team Foundation Server
upgrading to Team Foundation Server 2012 in-place or moving to new hardware

importing a source base from a non-Team Foundation Server system

upgrading a Team Project

Install and configure Lab Management.
- setting up environment templates
- installing and configuring test agents
- installing and configuring System Center Virtual Machine Manager 
  (basic Virtual Machine Manager installation)
- creating library shares or resource pools
// non-trivial installation. 

// VssUpgrade command line tool:
// Wizard handles most cases, but not all.
// Migrating multiple Vss projects into a single team project
// Migrating with a script, want to ignore lables
// Allows us to interrupt and resume process

Setting up environment templates
- If you are a system administrator, you might have to regularly create new golden virtual 
  machines to satisfy the needs of various team projects.
- Detailed instructions can be found in the article “How to: Create and Store Virtual Machines 
  and Templates Ready for Lab Management” at http://examcr.am/1452Ket
  
Installing and configuring test agents
- Lab agents and test agents from previous versions of Lab Management have been combined 
  into one type of agent – the test agent.
- Detailed instructions can be found in the article “Installing and Configuring Test Agents 
  and Test Controllers” at http://examcr.am/11pcal8 
// now there is one download for agents. Controller, data collectors, lab agents, and test agents
// are all together
  
Installing and configuring System Center Virtual Machine Manager
- To access the virtual machines that you create with Hyper-V from Lab Management, you must
  install and configure SCVMM.
- SCVMM is a tool for managing your Hyper-V host machines from a central console. 
- Lab Management communicates with SCVMM to be able to use the virtual machines and
  templates to create environments
- Detailed steps can be found at http://examcr.am/ZCTOv3 

MSDN Resources for Install and Configure Lab Management
setting up environment templates

installing and configuring test agents

installing and configuring System Center Virtual Machine Manager (basic Virtual Machine Manager installation)

creating library shares or resource pools

// reading these resources good for studying for exam

Install and configure multiple build agents and controllers.
- tagging and binding a controller to a project collection
- adding a build agent

// demo
// TFS 2012 with update 2
// Scott talks about how build agents can be spread all over the organization
// because build agents are so easy to deploy (doesn't require permission from the
// owner of TFS. Update 2 allows for the upgrade to TFS 2012 while still using
// 2010 build agents (not on the test)
// 
// Install build services, then configure the roles
// wizard recommends number of build agents based on hardware
// Later versions of build will automatically scale, so fewer agents may allow for faster
// builds, but not all builds can do this. Wizards recommends 4, presenters use 2.
// Doing a build maxes CPU and hammers hard-drive.
// In a physical server this can be mitigated with hardware configuration
//
// system network service is not desirable for build service
//
// not uncommon for build account to be using up 80% of TFS resources, proxy server can 
// enhance performance
//
// once installed, we can go back and change properties of build controller and build agents
// custom assemblies in build controller may allow for adding extensions from codeplex 
// Can add tags to build agents - enables machine to target a certain agent (building .NET vs
// J2EE.
//
// Build service can only target one TPC (team project collection)
//
// How to transfer a TPC with all work items and source control from a 2010 TFS Server to a
// 2012 install: backup databases, move to the new box (tfs_configuration, tfs_defaultcollection)
// can use command line or the upgrade wizard
//
// power tools not covered in exam - exam covers whats in the box
//
// can I point to 2013 Sharepoint? yes
//
// why not put build server on main TFS server? Ok to put build controller, cause it doesn't do
// resource intensive work. Build agents us a lot of resouces. Also build server itself needs
// other supporting software and libraries. Don't want all that stuff on production TFS server.
// Plus you don't want devs mucking about on your production TFS server.
//
// can't use NETWORK_SERVICE account in a multi app tier, load balanced environment
//
// is the sTFSService in the local admin group: no, none needs to be a local admin
// AD requirements in Installation .chm

MSDN Resources for Install and Configure multiple Build Agents and Controllers
tagging and binding a controller to a project collection

adding a build agent

Exam best bets
- There is plenty of content in this module. Use the provided hyperlinks and do your reading.
- Where you have the resources, practice and many of the procedures as you can.
- While you may have done upgrades a while ago, make sure the knowledge is refreshed.

No comments:

Post a Comment