Accueil > Migration avec TFS Integration Platform
Pierre-Henri Gache

Migration avec TFS Integration Platform

Réaliser une migration avec TFS Integration Platform

TFS Integration Platform est un outil développé conjointement par l’équipe projet de Team Foundation server et par les ALM Rangers. Il a pour objectif de permettre la migration de code source et de workitems depuis une source vers un serveur TFS. Cette source peut être soit un server TFS soit un autre type de contrôleur de source tel que ClearCase. Dans ce billet je ne vais décrire que la migration de code source à partir et vers un serveur TFS.

 

Pré requis techniques

Pour pouvoir fonctionner, TFS Integration Platform a besoin de deux éléments. Le premier est la disponibilité d’une base SQL Server. En effet lors de la migration, l’outil va stocker dans cette base l’ensemble des informations relatives au travail en cours. Le second est la présence de Visual Studio ou à minima de Team Explorer car l’outil a besoin des fonctionnalités de connectivité à TFS.

 

Comment l’outil fonctionne

L’objectif de la migration est de pouvoir déplacer le code source tout en gardant l’historique. C’est ce dernier point qui est le plus important. En effet il est tout à fait possible de migrer un code source d’un gestionnaire de source à un autre en faisant un simple copier coller de tous les fichiers. Cependant, en utilisant cette technique, on va perdre l’ensemble de l’historique. Pour éviter cela, TFS Integration Platform va rejouer l’ensemble des check-in qui ont eu lieu sur le contrôleur source dans le TFS de destination. C’est également pour cette raison qu’il est possible de migrer depuis un contrôleur de source autre que TFS. Ce principe de fonctionnement est important et il faut l’avoir en tête car si la migration se fait vers un TeamProject qui contient du code, des conflits pourront alors apparaitre comme dans tous merge de code.

 

Exemple de migration

Imaginons le scénario suivant : une société A viens de se faire racheter par une société B et il faut intégrer dans la collection du serveur TFS de la société B le team project de la société A.

Pour mettre en œuvre ce scénario, il faut tout d’abord créer un team project vide sur le serveur TFS de destination. Ce team project servira de réceptacle lors de la migration. Il faut ensuite paramétrer et lancer la migration, voici les différentes étapes :

tfs integration platform

La première étape consiste à choisir le menu “Create New”.

 

template

Ensuite il faut choisir le template qui sera utilisé lors de la migration.

 

new migration

Maintenant il est possible de paramétrer la source et la destination. Il faut pour cela cliquer sur les deux boutons “Configure”.

 

choose team project

Ensuite la fenêtre ci-dessus s’ouvre. Elle permet de choisir la collection ainsi que le team project.

 

configuration

Pour éviter tout problème de merge, il faut éliminer le répertoire BuildProcessTemplates de la migration. Pour ce faire il suffit de sélectionner le bouton “Add New” et de saisir sur la nouvelle ligne le chemin du répertoire. Il ne faut pas oublier de choisir le type “Cloaked” en début de ligne. Maintenant que la configuration est terminée, on peut cliquer sur “Save to Database” pour débuter la migration.

 

starting

Dernière étape, cliquer sur le menu “Start” et le processus s’enclenche.

 

migration done

 

 

Résultat

Maintenant que la migration est terminée, regardons dans l’explorateur de source de notre nouveau team project si tout est bien présent. Un rapide coup d’œil sur l’historique nous montre que ce dernier a bien été récupéré. Il est d’ailleurs intéressant d’y remarquer que la date du check-in correspond effectivement à la date de la migration. La date originale se trouve elle dans le commentaire.

history

En parcourant l’explorateur, on constate également que la structure a bien été conservée.

source control

Nos autres articles
Commentaires
Laisser un commentaire

Restez au courant des dernières actualités !
Le meilleur de l’actualité sur le Cloud, le DevOps, l’IT directement dans votre boîte mail.