Guide de migration d’un serveur TFS 2010 sur une autre machine

La semaine dernière j’ai testé la migration d’un serveur TFS 2010 d’une machine A vers une machine B et je vous propose de découvrir ici les différentes étapes pour y arriver.

Cet article aborde la migration des composants suivants :

  • le serveur TFS 2010 et ses collections,
  • le serveur Reporting Services,
  • le site SharePoint
1/ Détacher la collection de projets du serveur A

Lancer Team Foundation Server Administration Console, aller dans Application Tier, puis dans Team Project Collections.

Sélectionner la collection à détacher, puis dans l’onglet général cliquer sur Detach collection :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image5

Le wizard suivant s’ouvre et nous invite à cliquer sur Next et Verify :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image10

Après avoir cliqué sur Verify, si tout ce passe bien, on est invité à cliquer sur Detach :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_10

Le warning m’indique 2 choses :

  • tout d’abord un message d’avertissement indiquant que la collection était attachée à une base de données SQL 2008 Enterprise et de prendre cette information en considération lors de la restauration sur un autre serveur SQL.
  • ensuite un message d’avertissement concernant les services de Builds. Ce message ’indique que si des builds sont en train de s’exécuter alors elles seront stoppées.

Cliquer ensuite sur Detach afin de détacher la collection. Voici le résultat :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image23

Le message d’avertissement concernant les services de Build m’indique que le contrôleur et l’agent ont été désactivés.

2/ Récupérer les bases de données du serveur A

Pour restaurer le serveur TFS sur une autre machine, nous avons besoin de plusieurs bases de données. Bien évidemment cela dépend de l’installation qui a été faite. Dans mon cas j’ai installé le serveur TFS avec le portail Sharepoint et le serveur de rapports.

Depuis SQL Server Management Studio effectuer un backup des bases de données suivantes :

  • TFS_DefaultCollection
  • ReportServer
  • ReportServerTmpDB
  • WSS_Content
windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_2
3/ Backup de la clé de cryptage de Reporting Services

Certaines informations de reporting services, comme les mots de passe ou les chaines de connexion, sont cryptées en base de données. Lorsque l’on veut migrer un serveur Reporting Services il faut penser à effectuer un backup de la clé de cryptage afin de restaurer cette clé sur l’autre serveur.

Ouvrir Reporting Services Configuration Manager, puis aller dans Encryptions Keys :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_24

Cliquer ensuite sur Backup, sélectionner une destination ainsi qu’un mot de passe :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_28

4/ Restauration de la collection de projet sur le serveur B

Je ne décrirai pas l’installation du serveur TFS sur la machine B, car il suffit de faire une installation (en mode advanced) de TFS 2010.

Une fois TFS 2010 installé sur la machine B, restaurer la base de données Tfs_DefaultCollection sur le serveur SQL sur lequel pointe le nouveau serveur TFS :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_14

5/ Attacher la collection au serveur TFS

Ouvrir la console d’administration de TFS, aller dans Application Tier, puis dans Team Project Collection et cliquer sur Attach Collection :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_16

Sélectionner la base de données précédemment restaurer :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_18

Cliquer ensuite sur Next et Verify :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_20

Cliquer ensuite sur Attach :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_22

Comme on peut le voir sur l’image ci-dessus, la collection a bien été rattachée au nouveau serveur TFS. Il reste à migrer/configurer Reporting Services et Sharepoint.

6/ Restauration de Reporting Services

Depuis SQL Server Management Studio, restaurer les bases de données Reporting Services (ReportServer et ReportServerTempDB).

Attention : lors de restauration de la base de données ReportServerTempDB, il faut lui donner le même nom que celui qu’elle avait sur l’autre serveur SQL. En effet le nom de cette base de données est écrit en dur dans les procédures stockées de la base ReportServer.

Ouvrir ensuite Reporting Services Configuration Manager, puis aller dans Encryption Keys et cliquer sur Restore :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_30

Dans location, rechercher le fichier .snk précédemment récupérer sur l’autre serveur de rapport, rentrer le mot de passe puis cliquer sur OK.

7/ Suppression de la base de contenu Sharepoint existante sur le serveur B

Dans les outils d’administration, lancer l’outil SharePoint 3.0 Central Administration :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_32

 

Cliquer ensuite sur Application Management, puis dans le menu Sharepoint Web Application Management cliquer sur Content databases :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_34

 

Cliquer sur la base WSS_Content, dans les paramétrages de la base, cocher la case Remove content database puis cliquer sur OK :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_36

 

8/ Restauration de la base de contenu

Sur le serveur B ouvrir SQL Server Management Studio, puis restaurer la base de données WSS_Content précédemment “backupée” depuis le serveur A.

Une fois la base de données restaurée, ouvrir SharePoint 3.0 Central Administration. Aller dans Application Management, puis dans le menu Sharepoint Web Application Management cliquer sur Content databases.

Cliquer ensuite sur Add Content Database :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_38

 

Remplir les champs de connexion à la base de données précédemment restaurée puis cliquer sur OK.

9/ Configuration des Team Projects

Il reste à reconfigurer les portails des Team Project.

Ouvrir Visual Studio, ouvrir Team Explorer et se connecter au serveur TFS. Clic droit sur le Team Project, puis dans Team Project Settings, cliquer sur Portal Settings…

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_46
Dans le wizard qui s’affiche, cocher la case Enable Team Project Portal, puis cliquer sur Configure URL…

Sélectionner l’application Sharepoint puis indiquer le chemin d’accès au portail du projet :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_48

 

Cocher la case Reports and dashboards refer to data for this team project, puis cliquer sur OK :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_50

 

10/ Réparation de la connexion à Sharepoint

Ouvrir la console d’administration de TFS, puis aller dans Sharepoint Web Applications :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_40

 

Cliquer sur Repair Connection, puis dans le wizard cliquer sur Repair :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_42

 

11/Reconstruction du cube

Dans la console d’administration de TFS, aller dans Reporting puis cliquer sur Start Rebuild :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_44

 

12/ Vérification de la migration

Depuis Team Explorer, vérifier que vous pouvez vous connecter à votre nouveau serveur TFS, que vous récupérer la collection ainsi que les Team Project.

Vérifier que le portail est accessible : clic droit sur un Team Project puis cliquer sur Show Team Portal…

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_52
Si comme moi vous avez encore une erreur lors de l’exécution des rapports, aller sur le web service du datawarehouse(http://localhost:8080/tfs/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx) :

windowslivewriter_migrationdunecollectiondunserveurtfs2010_10302_image_54
Exécuter la méthode ProcessWarehouse sans paramètre, puis ProcessAnalysisDatabase avec en paramètre Full.

Vérifier que les rapports s’exécutent correctement. Si aucun work item n’existe pour le Team Project, vous risquez d’avoir une erreur lors de l’exécution des rapports. Vous aurez une exception du style : Default value or value provided for the report parameter ‘WorkItemTypeParam’ is not a valid value. (rsInvalidReportParameter). Ceci est un bug connu (bug remonté sur connect : http://connect.microsoft.com/VisualStudio/feedback/details/499387/reporting-services-error-on-dashboard-of-sharepoint)

Pour ne pas avoir cette exception, il faut que le Team Project contienne au moins 1 work item. Créer un work item (de type tache par exemple) sur le Team Project puis attendez environ 10min, ou pour aller plus vite faire un iisreset.

La migration est maintenant terminée!!

13/ Conclusion

La migration d’un serveur TFS 2010 sur une autre machine n’est pas bien compliquée. De plus la nouvelle console d’administration de TFS est très pratique et permet de gagner pas mal de temps comparer à TFS 2008 et à ces outils en ligne de commande… La console d’administration de TFS 2010 permet de restaurer une collection simplement et rapidement. Après, quelques connaissances de Sharepoint et de Reporting sont nécessaires pour ne pas perdre trop de temps.

TFS Power !

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s