Migration TFS 2010 vers 2012

Dans cet article nous allons voir comment migrer une collection TFS d’un serveur en version 2010 vers un serveur en version 2012.
Détacher la collection cible
La première étape consiste à détacher la collection du serveur. En effet cette opération est très importante car si elle n’est pas réalisée, il sera impossible de remonter la collection sur le nouveau serveur.
Lorsque la vérification est terminée, il est possible de valider le détachement via le bouton “Detach”.
La première étape est terminée, on va pouvoir passer au backup. Il est important de noter qu’à ce moment précis, le serveur TFS devient inaccessible pour les développeurs. Cependant, ils peuvent continuer de travailler avec leurs fichiers en local. Seules les actions de check-in, check-out et récupération de la dernière version sont impossibles.
Backup de la base
A chaque collection TFS correspond une base sur le serveur SQL associé qui porte le même nom. C’est donc un backup de cette base qu’il faut réaliser. Il est ensuite possible de rattacher la collection dans TFS lorsque cette opération est terminée.
Détacher la collection sur le nouveau serveur
Si, lors de l’installation du nouveau serveur, la collection a été créée ce qui est l’option par défaut, il faut la détacher au préalable. Le plus simple est de désactiver sa création lors de l’installation.
Comme précédemment, on peut détacher la collection lorsque les vérifications sont terminées.
Voilà qui est fait.
Restauration du backup
Pour ce faire, il y a deux méthodes, soit on remonte le backup directement avec Management Studio soit on utilise l’outil livré avec TFS. C’est la deuxième option que j’ai choisi ici. Il se nomme TfsRestore et se trouve par défaut dans le répertoire ci-dessus.
La première étape consiste à se connecter au server qui contient la base du nouveau serveur.
Ensuite on sélectionne le backup et on coche la case “Overwrite” si une base portant le même nom existe.
La restauration est terminée.
Attacher la nouvelle collection
Maintenant que le backup est disponible sur le nouveau server, on va remonter la collection en utilisant la console d’administration. Pour cela il suffit de sélectionner “Attach collection”.
Un nouvel écran doit s’ouvrir. Dans ce dernier il est possible de saisir le nom de l’instance du serveur. Lorsque celle-ci est correcte, on peut sélectionner la base qui contient la collection et cliquer sur “Verify”.
Lorsque la vérification est effectuée, il devient possible d’attacher la collection.
La console va effectuer les différentes opérations pour attacher la collection et à l’issue de ce processus, elle sera prête à être utilisée.
Mapping des utilisateurs
Dans mon exemple, je n’ai pas d’active directory pour partager les utilisateurs entre les deux serveurs, j’ai utilisé un utilisateur local.
C’est identique en ce qui concerne les shelves.
Mais avec la migration on souhaite pouvoir garder l’historique et donc mapper l’utilisateur de mon ancien serveur avec celui du nouveau. Pour cela il faut utiliser la commande “TfsConfig identities” comme le montre la capture ci-dessus. Elle va faire le lien entre l’ancien utilisateur et le nouveau.
On retrouve ainsi l’historique…
… ainsi que les shelves.