In this blog series I start to explain step-by-step tutorial on how to upgrade existing TFS 2010 to TFS 2012 Update 1 with the migration to a new hardware, the series will include videos and images as well. In the last post I will include one video that collect all parts for one-shot view, this series consist of following parts:
The following is the video that explain the whole blog series.
The pervious video cover the whole scenario and all posts for the upgrade series from the beginning to the end.
At the end I’d like to mention some tips and advices for TFS upgrade:
Go for Virtualization, TFS + Hyper-V = happy life.
Backup. Backup…Backup it’s very important to backup anything before performing any task, so backup all, Databases VMs, Domain Controller, DNS, any configuration you have….they must be backup.
Always update, always backup before update, always update before configuration as you can.
You may need to temporary disable firewall during any connection problem and if the firewall is the problem, try to know what the port needed to be opened, of course there is a list of needed ports to be opened depends on the TFS Topology, for more info, click here.
If you using SQL Server 2008R2 with Windows Server 2012 and TFS 2012, it will need extra update, I recommended upgrading using SQL Server 2012.
During my upgrade, I use SQL Server 2012 Standard Edition but restore DB fail because the old SQL server 2008 was Enterprise, this is because the stored data itself in the old SQL Server.
Of course we can use a new SharePoint Server or even on the same TFS 2012 machine, but I’d like to show how to use the old machine.
For more information about upgrade TFS, click here.
In this blog series I start to explain step-by-step tutorial on how to upgrade existing TFS 2010 to TFS 2012 Update 1 with the migration to a new hardware, the series will include videos and images as well. In the last post I will include one video that collect all parts for one-shot view, this series consist of following parts:
The following is the video that explain this blog post.
Upgrade TFS 2012 Build Service.
In this section I will explain how to upgrade TFS 2012 Build Serviceto replace the existing TFS 2010 Build Service, the TFS 2010 Build Service can coexist with TFS 2012 on the same machine but it can’t work for new TFS 2012 so we may have 2 Build Service each one serve its version of TFS.
From Server Manager, click Tool and then click Computer Management.
Click on Local Users and Groups, click on Groups, double-click on Administrators group and click Add, type TFSBuild and then click OK.
Click on Team Foundation Server Administration Console.
Click on Build Configuration and then click Configure Installed Features.
In the Configuration Center under Configure Team Foundation Build Service, click Start Wizard.
In the Project Collection wait while retrieve the project collection and when retrieved click Next.
In the Build Service, select Replace and existing build machine and then click Next.
In setting select Use a user account, I prefer to use the recommended service accounts, so type DC08\TFSBuild and type its password then click Test to make sure the correction of the account, for more information about TFS Service Accounts and its permission, click here.
Review the configuration and then click Next.
Run the Readiness Checks and review its success and then click Configure.
The configuration completed successfully.
In Team Foundation Server Administration Console go to Build Configuration to review that Build Controller and Build Agent are working properly and we can see the green sign.
In this blog series I start to explain step-by-step tutorial on how to upgrade existing TFS 2010 to TFS 2012 Update 1 with the migration to a new hardware, the series will include videos and images as well. In the last post I will include one video that collect all parts for one-shot view, this series consist of following parts:
Part 7 – Verify upgrade success and other configuration.
Verify the success of the upgrade and complete other configuration.
The following is the video that explain this blog post.
Verify the success of the upgrade and complete other configuration.
In this section I will verify the upgrade of the old projects and review how the old and the new features are working properly, so I will review the migration of the Source Control, SharePoint, Reporting, and also the new features like Task Board and Product Backlog.
Navigate to the Team Explorer folder inside the TFS 2012 media in your DVD, double click on team explorer installation file.
Select I agree to license and terms and conditions and it’s better to join the customer experience if you want, after that click INSTALL.
After the installation complete, launch Team Explorer, click on Connect to Team Foundation Server, from the drop down select the current server, in our case (TFS12UP) and then select the Default Collection, we will find that it retrieves the old project that was on TFS 2010, I will select that project (MarvelonTFS2010) and click Connect.
In Team Explorer home page, click on Source Control Explorer, navigate to the source code and open any source code file to review the code.
In Team Explorer home page, click on Work Items, double click on Product Backlog query and review the existing user stories of the old project.
In Team Explorer home page, click on Documents, click on Show Project Portal, type the user name and the password, the Dashboard opened successfully but the reports not displaying properly, so we need to add that site to the trusted sites.
In Internet Explorer go to Tools, Internet Option then Security and add the current site to the trusted sites.
Refresh the page, now the reports displayed correctly.
We need also to make sure of the report connection, so we will click on Excel Report, click on Bug progress or any report.
Click on Data drop down and choose Refresh All Connection and make sure it has no error.
Now we are going to verify the new features of TFS 2012, from Team Explorer home page, click on Web Access, type the user name and password, the page open successfully but it’s not displaying properly, so we need to add that site to the trusted sites.
In Internet Explorer go to Tools, Internet Option then Security and add the current site to the trusted sites.
Refresh the page, now the Web Accessdisplayed correctly.
We want to verify the Agile planning Tool, so we will click on Work, we will find it’s not working because this team project need extra configuration because the process template, so we will click on Configure feature.
Click on Verify, to verify that the wizard can perform that configuration automatically, this mostly happen if you are not customizing your process in a complex way that prevent the wizard from upgrade the process template.
The wizard show that it can perform that upgrade automatically and show the process template that it will be used for the upgrade, click Configure.
Team Project Upgrade completed successfully.
Go to the work tab again, to review the Task Board, we will find that the problem solved but there is another one because there is no iteration selected, so we will click on Select team’s Iterations.
Select all iterations.
Get back to Task Board, it’s working now but it’s empty, so I must assign my existing user stories to existing iteration or add new one assigned, so I will click on home to do that.
Add new user story and by default it’s assigned for iteration 1.
Get back to Task Board, now it’s working for the old project.
In this blog series I start to explain step-by-step tutorial on how to upgrade existing TFS 2010 to TFS 2012 Update 1 with the migration to a new hardware, the series will include videos and images as well. In the last post I will include one video that collect all parts for one-shot view, this series consist of following parts:
The following is the video that explain this blog post.
Configure TFS 2012 using Upgrade wizard.
In this section I will explain how to configure TFS 2012 Update 1 using the upgrade wizard or in other word how to Run the TFS Upgrade Wizard that will upgrade old and restored DBS, it will also use the pre-configured Remote SharePoint 2012 for SharePoint 2010.
Open Team Foundation Server Administration Console, click on Team Project Collection and then click on Configure Installed Features.
In the Configuration Center, click Upgrade and then click Start Wizard.
In Database, click on list Available Database to retrieve the restored DB of old TFS, select the checkbox that confirm that you have backup your DB and then click Next. It’s very important to backup the database because this upgrade can’t revert back.
In the Application Tier Settings select Use a user account and type the service account that will be used for TFS, I prefer to use the recommended TFS Service Accounts, so type DC08\TFSService and type its password then click Test to make sure the correction of the account, for more information about service account and its permission, click here.
In the Reporting, select Configure Reporting for Team Foundation Server and then click Next.
In Reporting Service, click Populate URLs to make sure it retrieves the available URLs, after that click Next.
In Database under Reporting, click on Test, to test the existing of the SQL Server and then click on list Available Database to retrieve the restored warehouse of old TFS, after that click on Next.
In the Analysis Service, click on Test to test the existing of SQL server and the service after that click Next.
In Report Reader Account, select Use different account…., type the service account that will be used for reports, I prefer to use the recommended TFS Service Accounts, so type DC08\TFSReprots and type its password then click Test to make sure the correction of the account, you will need to make this account has Log On Locally permission, for more information about service account and its permission, click here.
In SharePoint Product, select Configure SharePoint to for use with Team Foundation Server to enable SharePoint configuration, after that click Next.
In Settings under SharePoint Product, select Change current settings to point to a different SharePoint Farm, type the name of the SharePoint server, in our scenario (TFS2010), click Test to test its existing and configuration, remember you must configure Remote SharePoint Extension before this step otherwise the SharePoint configuration will fail, after that click Next.
Run the Readiness Checks, it will give you a warning that SharePoint still need to be configured on the other machine, we will do that configuration after we complete the current one, after that click on Configure.
Review the success of the configuration and click Next.
Review the results and click on Close.
Open the Team Foundation Server Administration Console if it’s not already opened, click on Application Tier, click Change URLs, and change the name to point to the new server in our case (TFS12UP), click Test and then click OK.
Navigate to the old server which has SharePoint now, open Team Foundation Server Administration Console, click on Extension for SharePoint Products, click on the existing TFS integration, click on Remove access, in the confirmation click Yes.
Click Grant access, in the URL for Team Foundation Server, type the new one which is “ http://tfs12up:8080/tfs “, in the SharePoint Web Application select the existing SharePoint from the drop down which is the old server, in Enterprise Application Definition type TFS, which is the name of the Secure Store Target Application for Trusted File Location for Excel Service on the SharePoint Server, you can skip this step, for more information on how to configure that, click here.
Get back to the new machine (TFS 2012) and in Team Foundation Server Administration Console, click on SharePoint Web Application, click Repair Connection, review the repair and make sure of its success.
In this blog series I start to explain step-by-step tutorial on how to upgrade existing TFS 2010 to TFS 2012 Update 1 with the migration to a new hardware, the series will include videos and images as well. In the last post I will include one video that collect all parts for one-shot view, this series consist of following parts:
Run TFS 2012 Restore Tool and restore old DBs to the new SQL server 2012.
Change Reporting DB and restore Reporting Encryption Key.
The following is the video that explain this blog post.
Run TFS 2012 Restore Tool and restore old DBs to the new SQL server 2012.
In this section I will explain how to restore the backup DBs to the new SQL Server 2012 using the new tools TFSRestore.exe.
Get back to the command line on the new machine (TFS 2012), type TFSRestore and then enter.
The TFS restore tool will launch.
Click Connect and in the Select Backup Location, add the shared folder that has created earlier and now has all backup files, select all DBs, we must check Overwrite the existing database(s) this to replace the existing Reporting Service DB, otherwise the restore will fail.
Review the success of the restore.
Change Reporting DB and restore Reporting Encryption Key.
Open the Reporting Service Configuration Manger.
Click Connect to the new server (TFS12UP), after that click on Database tab and then click on Change Database.
Select Choose an existing report server database and then click Next.
Test the connection to server and then click Next.
Select the Report Server database from the drop down and then click Next.
In Authentication Type, leave the default (Service Credential) and then click Next.
In Summary, review and click Next.
Review the success of changing the DB.
Click on Encryption keys tab and then click on Restore button, select the shared folder path that has the backup key, type the password that we used during the key backup and click OK.
Review the success of restoring the key.
Click onScale-out Deployment, select the old TFS machine (TFS2010) and click on Remove Server, if you have the same error as me, you will need to remove that manually.
Go to the SQL Server RSKeyMgmt Tool folder and copy the path “C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn“.
Open the command line tool as Administrator, type cd and paste the path of the tool.
Type RSKeyMgmt –l to list all server with their GUIDs.
Copy the GUID of the old server (TFS2010), type RSKEMgmt –r and paste the GUID to remove this server, after that, list again to make sure that server was successfully removed.
Review the Scale-out Deployment, to make sure it’s removed.
In this blog series I start to explain step-by-step tutorial on how to upgrade existing TFS 2010 to TFS 2012 Update 1 with the migration to a new hardware, the series will include videos and images as well. In the last post I will include one video that collect all parts for one-shot view, this series consist of following parts:
Part 4 – Install TFS 2012 Update 1 & Backup DBs and Reporting Key
Install TFS 2012 Update 1 and run windows update.
Run TFS 2012 Backup Tool and backup the old DBs.
Backup the old Reporting Service Encryption Key.
The following is the video that explain this blog post.
Install TFS 2012 Update 1 and run windows update.
In this section I will explain how to install TFS 2012 Update 1 on a new machine, I will also make sure to run windows update for Windows and other Microsoft Products, it is very important to run any update before the configuration of TFS components.
Insert the TFS 2012 Update 1 DVD into your driver.
Select I accept the license and terms and click Install Now.
After the installation complete close Configuration Center and navigate to System and click Window Update.
Install all available update and restart the machine if needed.
Run TFS 2012 Backup Tool and backup the old DBs.
There are some new tools come with TFS 2012 that used to Back up and Restore Data for TFS, so we will navigate to the folder of the tools and copy that path. “Program Files\Microsoft Team Foundation Server 11.0\Tools“.
Open the command line as administrator.
Type cd and paste the copied path.
Type TFSBackup and press enter.
The TFSBackup tool will launch, type the name of the old server (TFS2010), don’t connect, we need to stop the Firewall first on the TFS2010 machine.
Go to the TFS2010 machine and temporary stop the Firewall so the TFSBackuptool can connect to SQL Server DB.
Get back to TFS12UP machine and click Connect, the tool will retrieve and select by default all needed DBs, in the Backup Database to, type the path of the shared folder that we created earlier, of course we may don’t need WSS_Content as we will use another SharePoint Server but I prefer to take all, review that there are 7 DBs selected as the following image.
Review the success of the backup.
Backup the old Reporting Service Encryption Key.
Go to the TFS2010 machine and click Start and navigate to Reporting Service Configuration Manager.
Click connect to the TFS2010 and then click on Encryption Key tab, after that click on Backup button, in the File Location, type the path of the shared folder that we created earlier, type a password and re-type it again, remember you will use this password when we restore the key.
In this blog series I start to explain step-by-step tutorial on how to upgrade existing TFS 2010 to TFS 2012 Update 1 with the migration to a new hardware, the series will include videos and images as well. In the last post I will include one video that collect all parts for one-shot view, this series consist of following parts:
Part 3 – Prepare the new machine and install SQL Server.
Prepare the new machine (DNS, Join Domain, .NET 3.0).
Install MS SQL Server 2012 SP1 Enterprise Edition.
Share a Folder on the new server.
The following is the video that explain this blog post.
Prepare the new machine (DNS, Join Domain, .NET 3.5).
In this section I will explain how to prepare the new machine for TFS 2012, I didn’t include how to install Windows Server 2012, for more information about how to install it, click here, so after install the Windows and install all latest update, we will change the DNS to point to the domain controller (TFS2010-DC), this is very important so we can join this domain, after that we will install .NET 3.5 as a windows server 2012 feature.
Open Network and Sharing Center and open IPV4 configuration as the following.
In the DNS, type the IP of the Domain Controller of the current domain.
Navigate to System and click on Advanced System Settings, change the name of the machine to be TFS12UP and the domain is DC08.COM, restart the machine and log in using a domain admin account, in my case (MRadwan).
From the Server Manager click Add Role, click on next till you reach the Features and select .NET Framework 3.5 after that click Next.
Insert Windows Server 2012 DVD in your drive and click on Specify alternate source path and type the drive path followed by the source of the files in my case “D:\Sources\Sxs“.
Install MS SQL Server 2012 SP1 Enterprise Edition.
Insert MSSQL Server 2012 SP1 Enterprise Edition DVD into your drive, click on Run SETUP.EXE, it’s very important to know that the edition must not less than the old one, for example, if the old SQL Server 2008 is Enterprise we must install SQL Server 2012 Enterprise, it’s required for success of DBs migration.
In Setup Role make sure that SQL Server Feature Installation is selected and then click Next.
In the Feature Selection, choose all the needed features as the following :
-Database Engine Service
-Full Text and Semantic Extractions for Search
-Analysis Services
-Reporting Service – Native
-Client Tools Connectivity
-Management Tools – Basic
-Management Tools – Complete
Leave the Default Instance and click Next.
Change all services to be Automatic and then click Next.
Review the collation, this is very important, we know that TFS required specific collation so we have to review this collation and of course the supported collation must be the same as the old server collation of the SQL Server 2008 R2.
In the Database Engine Configuration add the current user (MRadwan) and the TFSService account.
In the Analysis Service Configuration add the current user (MRadwan) and the TFSService account.
In the Reporting Service Configuration make sure that Install and Configure is selected, click all Next and then Install.
Review the success of the installation.
Share a Folder on the new server.
Create a folder on any place on the network and share it for Everyone with Read and Write permission.
In this blog series I start to explain step-by-step tutorial on how to upgrade existing TFS 2010 to TFS 2012 Update 1 with the migration to a new hardware, the series will include videos and images as well. In the last post I will include one video that collect all parts for one-shot view, this series consist of following parts:
Examine the existing TFS 2010 system and the new machine.
Uninstall all TFS 2010 components.
Install and configure TFS 2012 Remote SharePoint Extensions.
The following is the video that explain this blog post.
Examine the existing TFS 2010 system and the new machine.
In this section we will just examine the old system to review its current state. We will see that, there are three machines for our scenario, TFS2010, of course this is the TFS machine with all TFS components, TFS2010-DC, this is the Domain Controller machine and TFS2012-Upgrade, this the new machine that will be used to migrate and upgrade TFS 2010, see the following image.
The first machine has the following information, VM name (TFS2010-DC), computer name DC08.com, it has Active Directory and DNS, it also has the needed TFS Service Accounts configured with all settings and needed permission for all TFS configuration, for more information about how to create TFS service accounts, click here.
The second machine has the following information, VM name (TFS2010), computer name TFS2010, it has MS SQL Server 2008 R2 SP1 Enterprise Edition, with Analysis Service and Reporting Serveries, it also has MS SharePoint Server 2010 and it is configured with excel service for reporting, see the following images.
TFS 2010 configured with SharePoint 2010, Reporting Service and Build Serveries 2010.
MS SQL Server 2008 R2 with Analysis Service and Reporting Service.
MS SharePoint Server 2010 with Excel Service.
Uninstall all TFS 2010 components.
In this section I will uninstall all TFS components.
Install and configure TFS 2012 Remote SharePoint Extensions.
In this section I will install Remote SharePoint Extensions from the TFS 2012 Update 1 DVD, because we will use this machine as a SharePoint Server to work with the new environment.
Insert TFS 2012 Update 1 DVD into your driver.
Navigate to Remote SharePoint Extensions folder on the DVD.
Double click on the SharePoint Extension installation file.
Select the check-box I accept the license and condition after that click Install Now.
When the installation complete the Configuration Center will appear, click on Start Wizard.
The Readiness Check will run, you may find warning like it needs 10 GB of RAM, it’s OK, it can work with less RAM especially it’s not on the same machine with the TFS, but of course it’s always better to have 10 GB of RAM.
Review the success of the configuration.
In the TFS Administration Console, click on Extension for SharePoint Products, select the existing TFS and click Modify access, we will not change anything now but remember that we will change that after we configure the new server (TFS 2012).
In this blog series I start to explain step-by-step tutorial on how to upgrade existing TFS 2010 to TFS 2012 Update 1 with the migration to a new hardware, the series will include videos and images as well. In the last post I will include one video that collect all parts for one-shot view, this series consist of following parts:
The following is the video that explain this blog post.
As we may already know, there are 3 scenarios for upgrade TFS 2012:
Upgrade TFS Basic or Express (Basic upgrade)
TFS Use the Same Hardware (Standard upgrade)
TFS Use Different Hardware (Advanced upgrade)
I choose to explain the most complex one which is the 3rd one, so there are a lot of alternative paths for this scenario, I choose a specific path to simplify the posts and I will try to mention any alternative paths needed as we go throughout the series. This series is step-by-step with videos and images and at the last post I will put one video for all parts and summary the whole series, I will try to mention some considerations that you could take care of them while you are upgrading. Let’s start by examine the table of content for this series in details:
Part 1 – Introduction.
Introduction.
Part 2 – Prepare SharePoint for the new system.
Examine the existing TFS 2010 system and the new machine.
Uninstall all TFS 2010 components.
Install and configure TFS 2012 Remote SharePoint Extensions.
Part 3 – Prepare the new machine and install SQL Server.
Prepare the new machine (DNS, Join Domain, .NET 3.5).
Install MS SQL Server 2012 SP1 Enterprise Edition.
Share a Folder on the new server.
Part 4 – Install TFS 2012 Update 1 & Backup DBs and Reporting Key
Install TFS 2012 Update 1 and run windows update.
Run TFS 2012 Backup Tool and backup the old DBs.
Backup the old Reporting Service Encryption Key.
Part 5 – Restore DBs and Reporting Encryption Key.
Run TFS 2012 Restore Tool and restore old DBs to the new SQL server 2012.
Change Reporting DB and restore Reporting Encryption Key.
Part 6 – Configure TFS 2012
Configure TFS 2012 using Upgrade wizard.
Part 7 – Verify upgrade success and other configuration.
Verify the success of the upgrade and complete other configuration.
Part 8 – Upgrade TFS 2012 Build Service.
Upgrade TFS 2012 Build Service.
Part 9 – Summary.
Summary.
The chosen upgrade scenario is consistent of 3 machines, one as a Domain Controller, the second as TFS 2010 that contain most components of TFS and the third machine is a new Empty Machine, see the following image:
Machine 1: Domain Controller
Windows 2008 R2 SP1 with latest update
Active Directory and DNS
Machine 2: TFS2010
Windows 2008 R2 SP1 with latest update
MS SQL Server 2008 R2 SP1
MS SQL Server Analysis Service 2008 R2 SP1
MS SQL Server Reporting Service 2008 R2 SP1
TFS 2010 SP1
TFS Build Service 2010
MS SharePoint Server 2010 SP1
Machine 3: New machine
Nothing
In this upgrade scenario I will use the existing domain controller, I will also leave the SharePoint 2010 on the old TFS 2010 machine and use that machine as SharePoint server for the new environment, the new system will use Windows Server 2012 and SQL Server 2012 as well, see the following image:
Machine 1: Domain Controller
Windows 2008 R2 SP1 with latest update
Active Directory and DNS
Machine 2: TFS2010
Windows 2008 R2 SP1 with latest update
MS SQL Server 2008 R2 SP1
MS SQL Server Analysis Service 2008 R2 SP1
MS SQL Server Reporting Service 2008 R2 SP1
MS SharePoint Server 2010 SP1
Machine 3: TFS 2012
Windows Server 2012 with latest update
MS SQL Server 2012 SP1 Enterprise
MS SQL Server Analysis Service 2012 SP1
MS SQL Server Reporting Service 2012 SP1
TFS 2012 Update 1
TFS Build Service 2012
In the next posts I will start to explain how to perform this scenario.
In this series I will start introducing what’s new in Visual Studio 11 and Team Foundation Server 11 ( TFS 11) or as we expect to be Visual Studio 2012 and Team Foundation Server 2012 (TFS 2012)
The following is a step-by-step video that cover the entire topic.
My work like a Facebook feature.
For me I think of this feature like the Facebook notification, it will enhance the interactivity between you and your team, so let’s see the Facebook, if anyone of your close friends add a post or photo, this will appear in your notification, no need to check the wall every minutes for your close friends for new posts, this is My work, it keep you connected of what’s is going on without need to check that all the time, so no need to query the work items to know if there are new tasks assigned to you or not, if your code review is reviewed or not, if you have new bug or not and many other options.
My Work depends on the login activity to determine what data to bring, so it will retrieve all your data (Tasks, Pending Change) based on who you are when you login into the Team Foundation Server.
My Work based on Task Based Development Model to provide very high synchronization mechanism with your team mates.
My Work Sections.
As we can see My Work divided into 4 section:
In Progress Work
Suppressed Work
Available Work Items
Code Review
There will be separate posts for Suppressed Work and Code Review sections, in this post I will try to focus on In Progress Work and Available Work Items only.
Available Work Items (section):
It is a Team Explorer section that is retrieve data based on who you are and a work items query, you can open this query to have more info about what the criteria that retrieve the data, you can also create new work item from new menu.
In Progress Work (section):
It is a Team Explorer section that show what you are performing right now, so it could contain tasks, code pending change, it’s very intelligent to just show only what you can do at this moment, so if there is pending change it will show a check in command, but if there is not it will not show it, if there is also any project editing, it will show the suppress button.
Drag and drop work items from available to in progress.
So to start work on a task you just select it and click start or just drag and drop it to the In Progress Work section.
Just remember if you have 10 task to do, you only can work on one task at any point of time so the story here is you will just put one task inside In Progress Work section that you will work on it right now so it should have only one task at point of time and this make it very intelligent to associate the task when you try to check in your code because that’s meaning you have pending change and the working task should associate if you are not finished or should be closed if you finished.
In Progress Work with and without pending change.
In Progress Work after click on check in command
When we move the work item from the Available Work Items section into In Progress Work section, this will change the state of the work item to in progress and this can be shown on the Team Web Access, and so when we click finish or check in, but the vice versa is not true, that’s mean if I change the work item on the Team Web Access from To Do for example to In Progress, this will not reflect on My Work or In Progress Work.
Change the work item to In Progress inside My Work reflect on Team Web Access.
Change the work item to finish inside My Work reflect on Team Web Access.
Change the work item to In Progress inside Team Web Access doesn’t reflect on My Work.