TFS Installation, Upgrade, and Administration
In the previous chapter we discussed the architecture of TFS. We also covered some basic implementation planning. In this chapter we will take this further and look at the different TFS installation options we have. We will also go through some common upgrade scenarios and look at what needs to be done to get a pre-TFS 2012 instance upgraded to 2012.
Installation Options
When running the setup of TFS the installation wizard wants to install the core components on your machine. You get the option of where to install these components on the first setup page (see Figure 31-1). Make sure to choose a suitable location because it is always impractical to change the location later.
Figure 31-1. Starting the setup of TFS core components
You start the setup by clicking Install Now. After the core components installation is finished you are welcomed to the TFS configuration center as seen in Figure 31-2.
Figure 31-2. The TFS Configuration Center from where we install TFS
We can see that we have options to configure our Team Foundation Application Server and also our Build service. Let us focus on the TFS application server for now.
We can configure TFS in four different ways:
Let’s now take a look at these installations in a little more detail.
The Basic installation of TFS is the option to use if we want to have a single server TFS installation up and running quickly. The TFS basic installation even runs on a client operating system if we want to setup a minimal development environment.
If we want, we can add more than the core TFS features (such as work item tracking, version control, and builds) and get reporting in our projects as well as team portals. We need to install SQL Server before we install the TFS if we want to have reports. If we can manage without the reporting features, we can let the TFS installation install SQL Server Express for us.
Team Foundation Server can install SharePoint 2010 for us if we want, but we can use an existing installation of SharePoint Products with the basic configuration wizard as well. This is new for TFS 2012 and is great because we get the simplicity of the basic installation but can use a version of SharePoint Products other than the one that ships with Team Foundation Server. If SharePoint is not installed on the same server as the TFS application tier, then we need to install the SharePoint TFS Extensions on the SharePoint server. The SharePoint TFS extensions installs the TFS specific SharePoint features such as WebParts.
Note If installing a SQL Server instance yourself, please install SQL Server 2008 R2 or SQL Server 2012. You must also install the following SQL Server features for a complete TFS setup: Database Engine, Full-Text Search, Analysis Services, and Reporting Services. After you have installed SQL Server, configure Analysis Server for automatic failover.
The standard installation is very straightforward and will need very little user interaction. Here are the steps you need to follow:
Figure 31-3. Choose to install SQL Server Express or use an existing SQL Server
Figure 31-4. Starting TFS configuration
Advanced
If we need to configure a more complex setup of TFS, we can use the Advanced configuration. This option allows us to install and configure TFS on more than one server and it also lets us have more control over the options that are available to us.
Some of the options we have are to use an existing SQL Server or SharePoint server that we want to use to host team projects or TFS data. We can also place TFS and its configuration databases on different servers.
We can also choose to install SQL Server and SharePoint on separate new servers if we do not have any existing one we can use. These installations can be hosted on different servers as well. If you use multiple servers, you can distribute the load between Team Foundation Server and the configuration database, or you can ensure that prerequisite server software for features such as reporting or the portal site is running on capable hardware.
Note Don’t mistake the multiple server installation with the scale-out features that Team Foundation Server offers. The scale-out features include the ability to create a Team Foundation Server farm and add a team project collection to an instance of SQL Server that was not part of the original deployment of Team Foundation Server. However, these scale-out features are not part of the advanced setup scenario above.
If you configure TFS on multiple servers, you must consider your user accounts as well. You need an Active Directory domain in your network because you cannot use local accounts. Make sure that the account that you use to install Team Foundation Server is a member of the Administrators security group on the servers where you will install Team Foundation Server. Be sure to involve your infrastructure team in this process so that you will not run into problems later on.
If you plan to configure reporting, you must also be a member of the Administrators security group on the server that is running SQL Server Reporting Services. If you plan to configure SharePoint Products, you must be a member of the Farm Administrators group on the SharePoint Central Administration site.
Also make sure you have noted the service accounts that you will use to install Team Foundation Server, SQL Server, and SharePoint Products.
The steps you need to follow to configure your TFS installation using the advanced options can be found at http://msdn.microsoft.com/en-us/library/dd631919(v=vs.110). We do not cover all these steps here because there are too many. Please refer to this web page for these instructions.
If you already have a TFS server installation in your organization you have some options for improving performance or repair a TFS installation in the application-tier only configuration option. There can be many reasons for using this option:
Note You must have installed TFS 2012 using a domain account for the service account (TFSSERVICE); otherwise you must change to a domain account.
Installing an additional Application Tier to an existing TFS installation
Upgrading from Earlier TFS Versions
If you are already using TFS in your organization there is a good chance that you can upgrade to TFS 2012. You can perform an upgrade from the following earlier TFS versions:
There are two upgrade paths that you can choose. You an upgrade your TFS installation and keep using the existing hardware or you can upgrade and move TFS to new hardware. We recommend moving to new hardware if possible because it will let you keep the old installation to fall back to in case something goes wrong.
To upgrade and keep your existing hardware, follow these steps:
Move to New Hardware
To upgrade to TFS 2012 and move to new hardware:
Once the steps in any of these two preceding upgrade paths are complete, please follow the steps from http://msdn.microsoft.com/en-us/library/dd631898(v=vs.110) to configure the upgrade. Notice that you have different steps depending on from which previous version you are upgrading.
Enabling Features After Upgrade
After we have upgraded our TFS instance we can continue to work in the project but some new TFS features will not be available to us before we enable the capabilities. After enabling these new features we get access to the following TFS 2012 features:
If a project has not yet been updated, the error in Figure 31-5 is shown where we can configure the features using a wizard.
Figure 31-5. Error message for missing configuration of upgraded team project
Click the Configure feature to initiate the wizard that enables the new features. The wizard analyzes the team project to see whether the process template used is compatible with what the wizard can upgrade to. Figure 31-6 shows the configuration wizard process.
Figure 31-6. Configure Features for TFS 2012 Wizard (continued)
If the project cannot automatically be upgraded we can still do the upgrade by hand. For a description of the required steps see http://msdn.microsoft.com/en-us/library/ms194972(v=vs.110).
Team Foundation Server Administration
A Team Foundation Server will not run and maintain itself (nor will any other server product). You need to plan for maintenance and operations at the same time as you plan for the deployment. Be sure to involve the operations team already at the deployment planning stage (at the latest) so that they can advise on how to implement TFS into your infrastructure. As we can understand from the TFS architecture in Chapter 30 there are numerous ways to deploy TFS and many things to consider.
Some of the tasks that need to be taken care of after (and during) a TFS installation are
It is essential that the administrators understand the architecture of TFS and also the basic concepts that we have covered in this book. This includes the features of TFS, the tools TFS offers both to developers, project managers, administrators and others.
Administrators also need to understand how TFS and its components communicate so that the correct settings can be applied in the network. There are also Windows server security concepts and restrictions they need to be aware of, like access control, user account administration, and so on. This should not be a problem for a good operations team, but make sure you won’t run into problems with something you could easily avoid beforehand.
Also make sure that the competence on SQL Server and SharePoint (if you will use it) is high, especially if this is the first SQL Server/SharePoint deployment in your organization. If you are going to use Lab management and Hyper-V for testing you need to make sure that operations understand and can manage a Hyper-V server.
TFS includes an administration console (see Figure 31-7) where common administration and tasks for TFS can be performed. From this console you can manage administrative permissions, your team project collections, your build environment, and your virtual lab environment, as well as checking your TFS deployment status and reading various TFS log files.
Figure 31-7. The TFS management console
Here are some of the things the management console can help you with:
If the TFS operations team prefer to, they can also use the TFS command line tools to manage the TFS deployment. They can of course script the parts they need as well. The command line tools are installed during the TFS installation.
Adding TFS Collections After Installation
As we saw previously we can choose to upgrade an existing TFS instance as part of the TFS 2012 installation. But what if we have already setup our TFS 2012 and want to upgrade an existing TFS later on? Do we have to reinstall the entire TFS setup to do the upgrade?
Fortunately for us there is a command-line tool that allows us to upgrade an existing TFS to 2012—the TFSConfig.exe utility. To upgrade a TFS 2008 or 2010 database we issue the following command:
TFSConfig Import /SQLInstance:ServerName /CollectionName:NewCollectionName /confirmed
Where
If we need to move a TFS database from one TFS instance to another we can use the Team Foundation Server Administration Console to do this and go through the following steps:
Figure 31-8. Attaching a Team Project Collection
Note If the attached database is an earlier version, it will be upgraded as part of the attach process.
Another behavior you may notice when working with a TFS 2012 and its web client is that some features may not be available to all users. It turns out that the web client has an access model that allows us to define the functional authorization for our users. If for instance a user does not see the “View Backlog” option on the team’s home page (see Figure 31-9) this is likely due to restrictions in the access configuration for that user.
Figure 31-9. User not having access to the Backlog view in TFS web access
Figure 31-10 shows how to assign a user to the appropriate permissions in the TFS Web Access. The permissions enable the correct features for the user.
Figure 31-10. Adding users to Full access in the TFS web client
Similarly we may not have setup our iterations properly. For instance, if we have not selected iterations for our project, the TFS web client cannot render the team board (see Figure 31-11). To resolve this problem we need to click the “Select team’s iterations” link and configure the iterations for our team.
Figure 31-11. Error in configuration of Team Board
Some features in TFS 2012 require we enable email alerts, for instance, the Feedback tool and the alert subscriptions.
Figure 31-12. Error message for missing email alert configuration
To enable alerts we can use the Team Foundation Server Administration Console. Select the TFS application tier and scroll down to the Email Alerts Setting to bring up the configuration dialog. From the settings dialog we can provide the address to our SMTP server as well as the sender address used when sending out alerts (see Figure 31-13).
Figure 31-13. Email Alert Settings
The Email alert settings dialog has been extended with an Advanced SMTP settings section. This new feature allows us to configure the identity for the SMTP authorization.
Summary
In this chapter we have looked at the various ways we can configure a new TFS installation. We have seen how simple it is to set up a basic setup, as well as what needs to be done to get an advanced configuration in place.
Many existing TFS installations will need to be upgraded and we have looked at how this can be achieved. In general, we recommend moving to new hardware when upgrading TFS because that lets us fall back to the old instance in case something goes wrong.
Finally, we covered some of the administrative tasks related to maintaining a TFS 2012 server. In particular we looked at how we can enable different capabilities in TFS by running the corresponding configuration.
This concludes the architecture, installation, and administration sections of the book. Next we will look at how reporting works in TFS and how we can use the data in TFS to analyze the performance of our team.
3.141.31.222