Découverte de Visual Studio Team Foundation Server

LEBRUN Thomas

Cet article vous en apprendra plus sur Visual Studio Team Foundation Server, le nouvel outil de travail collaboratif de Microsoft. De l'installation à l'utilisation, j'essayerai de couvrir le maximum de choses.

N'hésitez pas à commenter cet article ! Commentez ♪

- Titre : Découverte de Visual Studio Team Foundation Server

- Auteur : LEBRUN Thomas

- Parution : 8 novembre 2005

- Licence : Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Introduction

- II. Installation des prérequis

- III. Installation de Team Foundation Server

- IV. Installation de Team Foundation Server Build

- V. Installation de Team Foundation Server Proxy

- VI. Installation de Team Explorer

- VII. Informations sur Team Foundation Server

- VIII. Configuration de Team Foundation Server

- VIII-A. Gestion/Configuration des groupes

- VIII-B. Configuration de la sécurité

- VIII-C. Type de fichiers

- IX. Gestion de Team Foundation Server

- IX-A. Gestion des alertes

- IX-B. Création d'un nouveau projet

- IX-C. Paramétrage du projet

- IX-C-1. La sécurité de votre projet

- IX-C-2. Itération

- IX-C-3. Source Control

- IX-D. Utilisation de Team Foundation Server

- IX-D-1. Work Items

- IX-D-2. Documents

- IX-D-3. Rapports

- IX-D-4. Utiliser TFS dans Visual Studio

- IX-D-4-a. Ajout d'une solution Visual Studio au Source Control

- IX-D-4-b. Modifier un fichier

- IX-D-4-c. Verrouiller un fichier

- IX-D-4-d. Spécifier une police de Check In

- IX-D-4-e. Le Source Control en une image

- IX-D-5. Team Builds

- X. Conclusions

- XI. Téléchargements

I - Introduction

Visual Studio Team Foundation Server est le nouvel outil de travail collaboratif développé par Microsoft, et qui va arriver avec Visual Studio 2005. Non seulement cet outil va vous permettre de définir des priorités sur des tâches, d'avoir une gestion des sources, etc., mais il permet également une amélioration de la productivité des membres de votre équipe.
Je vais essayer, au travers de cet article, de vous guider dans l'installation de TFS (Team Foundation Server) et dans la compréhension de son utilisation.

Tous les exemples et screenshots visibles sur cet article ont été réalisés avec la version Beta 3 Refresh de Team Foundation Server.

II - Installation des prérequis

Avant de pouvoir utiliser TFS, vous devez installer les prérequis nécessaires.
La première chose à faire est de créer les comptes utilisateur qui vous seront utiles, pour l'installation et l'utilisation de TFS.

Il y a trois comptes à créer :

- TFSREPORTS : utilisé par les sources de données de SQL Reporting Services ;

- TFSSERVICE : compte de login du service Windows Team Foundation Server ;

- TFSSETUP : compte utilisé pour réaliser l'installation de TFS.

Le nom des comptes à créer n'est pas fixe : en effet, vous pouvez tout à fait les changer. Lors de l'installation de TFS, il faudra juste que vous pensiez à donner les bons noms des comptes utilisateur que vous venez de créer.

Le compte TFSSETUP doit être placé dans le groupe des administrateurs pour pouvoir réussir l'installation de TFS.

La deuxième chose à faire, après avoir créé les comptes utilisateur, est d'installer IIS (Internet Informations Services) si cela n'est pas déjà fait.

Lorsque vous installez IIS, n'installez pas les extensions FrontPage. En effet, TFS utilise SharePoint Services, qui n'est pas compatible avec ces extensions.

Après l'installation de IIS, il faut vous attaquer à l'installation de SQL Server 2005.

Pour cette installation, rien de bien compliqué : l'installation est tout à fait standard et ne nécessite aucun paramétrage/changement particulier.
Enfin, le dernier prérequis, et pas le moindre, est l'installation de Windows SharePoint Services.

Lors de l'installation de WSS (Windows SharePoint Services), choisissez bien l'installation de type « Server Farm », sinon l'installation de TFS ne pourra pas aboutir.

Je vous recommande, une fois l'installation terminée, d'appliquer toutes les mises à jour critiques, depuis le site de Windows Update.

Une fois l'installation de WSS terminée, vous avez fini d'installer tous les prérequis nécessaires : il ne vous reste plus qu'à lancer l'installation de TFS.

III - Installation de Team Foundation Server

L'installation à proprement parler, de Team Foundation Server, ne pose pas de souci particulier. Il vous suffit de monter l'image dans un outil tel que Deamon Tools (ou bien vous pouvez graver l'image ISO) et lancer l'installation.

L'installeur se charge de mettre en place les bases de données nécessaires à l'utilisation de TFS, et paramètre également Windows SharePoint Services : il indique le nom du serveur SQL, etc.

Si l'installation s'est déroulée correctement, vous devriez voir un écran vous indiquant que Microsoft Visual Studio 2005 Team Foundation Server s'est installé avec succès.

Là encore, je vous conseille de faire les mises à jour de votre système, pour être sûr d'avoir les dernières versions et les patch de sécurité des logiciels que vous avez installés.

Lors de l'installation, vous pouvez recevoir un message d'erreur à propos d'un Web Service qui ne peut pas être chargé : je vous conseille de regarder ce billet sur mon blog, peut-être vous aidera-t-il.

IV - Installation de Team Foundation Server Build

Team Foundation Server Build est un complément à Team Foundation Server, qui vous permet de réaliser les builds de vos projets.

Une fois l'installation terminée, une page indiquant le succès de l'opération apparaît à l'écran :

Passons maintenant à l'installation de Team Foundation Server Proxy….

V - Installation de Team Foundation Server Proxy

Team Foundation Server Proxy est un autre complément de Team Foundation Server, qui vous permet de mettre en place un système de cache sur les fichiers source auxquels vous voulez (ou vous avez déjà) accéder. Tout comme pour Team Foundation Server Build, l'installation de Team Foundation Server Proxy ne pose aucun problème :

Voyons maintenant l'installation de l'outil qui nous permettra de gérer notre serveur TFS, le Team Explorer.

VI - Installation de Team Explorer

Maintenant que vous avez installé tout ce qu'il vous faut pour avoir un serveur TFS opérationnel, il vous faut installer de quoi administrer ce serveur. En effet, pour le moment, vous savez que vous pouvez créer des projets de travail en équipe, que vous avez un contrôle des sources, etc., mais vous ne savez pas comment faire pour gérer, organiser tout cela. Pour répondre à cette question, sachez que vous devez tout simplement installer ce que l'on appelle le « Team Explorer ».
Il s'agit d'un plugin à Visual Studio 2005 qui vous permet d'effectuer toutes les tâches de maintenance et d'administration de votre serveur TFS, ainsi que de votre projet.
Ce « Team Explorer » est livré avec Team Foudation Server : ainsi, lorsque vous insérez le CD d'installation de TFS, vous avez la possibilité d'installer, également, Team Explorer. Cette installation ne présente aucune difficulté majeure.

Voici un aperçu du Team Explorer, dans Visual Studio, une fois qu'il est installé avec succès.

Cette image vous permet de bien vous rendre compte de l'intérêt du Team Explorer : ajouter des serveurs TFS, vous y connecter, rechercher des projets, etc.

Voilà, à partir de maintenant, vous avez un environnement complètement opérationnel : vous avez un serveur TFS ainsi qu'un client pour administrer ce serveur. Je vais maintenant vous parler un peu plus en détail de Team Foundation Server, avant d'aller plus loin dans la suite de cet article.
Je me permets tout de même de rajouter un lien vers ce poster, qui indique, de façon très précise, la marche à suivre pour installer un serveur Team Foundation Server.

VII - Informations sur Team Foundation Server

Team Foundation Server est un outil de travail collaboratif. À ce titre, vous pouvez l'utiliser, dans votre projet, si votre équipe comporte plusieurs développeurs et que vous souhaitez, par exemple, leur donner accès à des documents, leur permettre de travailler simultanément sur des fichiers source, etc.
C'est un outil dont votre Entreprise (et plus précisément votre équipe de développeurs) pourrait avoir besoin, si vous prévoyez d'utiliser un outil de contrôle des sources, ou que vous envisagez d'utiliser un portail (site Web) pour échanger entre développeurs.

Une chose importante à savoir : Team Foundation Server n'est qu'un ensemble de Web Services. Team Explorer n'est qu'un outil, une façade vous permettant de gérer, manipuler ces Web Services et donc d'administrer votre serveur TFS.
Vous pouvez donc tout à fait écrire une application (Web ou Windows) qui manipule ces Web Services (et donc votre serveur TFS) et qui remplacera le Team Explorer.
Pour vous en convaincre, sachez que vous pouvez afficher et invoquer ces Web Services. En voici d'ailleurs la preuve, en image :

Voyez maintenant ce qui se passe lorsque l'on appelle une de ces méthodes. Dans mon exemple, nous avons appelé la méthode ListAllProjects, qui nous retourne la liste des projets qui sont sur notre serveur TFS :

Le résultat, comme nous nous y attendions, nous renvoie bien l'ensemble des projets situés sur le serveur (dans mon cas, il n'y a qu'un seul projet, DotnetProject, qui sera créé plus tard lors de cet article).

À titre informatif, je vous joins un lien vers une image montrant, dans le détail, l'architecture d'un projet utilisant TFS/VSTS (Visual Studio Team System): http://www.drp.co.za/posters/0202_MicrosoftTeamSystem.jpg

VIII - Configuration de Team Foundation Server

Toute la partie Configuration que nous allons voir dans ce chapitre concerne la configuration du serveur TFS, et s'applique donc à tous les projets que vous avez sur votre serveur.

VIII-A - Gestion/Configuration des groupes

Team Foundation Server n'est qu'un serveur comme les autres : à ce titre, vous pouvez, comme dans beaucoup de serveurs, créer des groupes contenant des utilisateurs. Vous pourrez ensuite assigner des permissions à ces groupes, et seuls les utilisateurs inclus dans le groupe correspondant pourront effectuer les opérations permises : c'est un peu le même procédé que les groupes/permissions sur un serveur Active Directory.
Pour commencer, dans le Team Explorer, faites un clic droit sur le nom du serveur puis choisissez « Team Foundation Server Settings ». Là, sélectionnez « Group Membership » et vous devriez alors voir cet écran :

Cette partie vous permet de gérer (création, modification, suppression) les groupes d'utilisateurs, au niveau de votre serveur (et non pas au niveau du projet).
Pour l'écriture de cet article, j'ai rajouté le groupe « Team Foundation Clients »: c'est avec ce groupe que je travaillerai dans mes exemples.

Pour ajouter un utilisateur à un groupe, rien de plus simple :

- sélectionnez le groupe ;

- cliquez sur « Properties » ;

- là, vous pouvez sélectionner le ou les utilisateurs à ajouter à votre groupe.

Vous avez la possibilité d'ajouter un utilisateur ou groupe local (idéal dans le cas où vous utiliser TFS avec Active Directory) ou bien un utilisateur/groupe du serveur TFS.

VIII-B - Configuration de la sécurité

Ajouter des groupes, remplir ces groupes avec des utilisateurs, etc. tout cela est bien pratique, mais encore faudrait-il que ces groupes aient les autorisations d'effectuer des tâches, des actions sur votre serveur.
Pour cela, faites un clic droit sur le nom du serveur, choisissez « Team Foundation Server Settings » et sélectionnez « Security ».

Ainsi, vous pourrez gérer, de manière très précise, les permissions associées à chaque groupe.

Le groupe « Team Foundation Administrators » est le groupe des administrateurs du serveur TFS : ce groupe possède tous les privilèges possibles, et vous ne pouvez pas lui en enlever. Faites donc attention, lorsque vous gérez vos groupes/utilisateurs, à ne pas rajouter n'importe qui (ou n'importe quel groupe TFS) dans ce groupe Administrateur.

En règle générale, il est conseillé de toujours créer vos groupes utilisateurs avec le minimum de droits possible, puis de leur en rajouter s'ils en ont réellement besoin. Ainsi, vous évitez d'avoir des groupes/utilisateurs avec plus de pouvoirs que nécessaire sur votre serveur.

Si vous avez du mal à saisir tout cela, reportez-vous à ce schéma qui, je l'espère, vous permettra de mieux comprendre la gestion des groupes et des sécurités, dans Team Foundation Server.

VIII-C - Type de fichiers

Une des fonctionnalités intéressantes de TFS, que nous étudierons plus en détail ultérieurement, est le contrôle des sources. Avec TFS, vous pouvez uploader vos fichiers sources sur le serveur, pour que les autres développeurs puissent les récupérer et éventuellement, les modifier, etc.
Cependant, pour des raisons de sécurité, vous ne pouvez pas autoriser n'importe quel type de fichier à être déposé sur le serveur. C'est pourquoi si vous faites un clic droit sur le nom du serveur, que vous choisissez « Team Foundation Server Settings » puis « Source Control File Types », vous aurez accès à un panneau vous permettant de choisir les extensions que vous voulez autoriser.
Faites bien attention lors de la modification de ces extensions et prenez bien garde à ne pas autoriser une extension qui pourrait être utilisée par un développeur/pirate pour provoquer des dégâts sur le poste des autres développeurs (virus, macros malveillantes, etc.).
À noter que celles sélectionnées par défaut devraient largement vous suffire, dans la plupart des cas.

IX - Gestion de Team Foundation Server

IX-A - Gestion des alertes

Une des possibilités intéressantes de TFS est de pouvoir paramétrer des alertes email lors de certains événements survenant à votre projet. Pour cela, dans le Team Explorer, faites un clic droit sur le nom de votre projet et sélectionnez « Project Alert ».

L'écran suivant devrait apparaître pour vous permettre de choisir :

- le type d'événements à auditer ;

- l'adresse email des personnes devant recevoir l'alerte

Un regret tout de même : TFS ne vous permet pas de surveiller une action que vous aurez définie à l'avance. Seules les actions déjà existantes peuvent être auditées, et vous ne pouvez pas en rajouter…
Cela pourrait être intéressant d'avoir une telle fonctionnalité dans une prochaine version de TFS.

IX-B - Création d'un nouveau projet

Dans cette partie, je vais vous indiquer, pas à pas, la procédure pour créer un nouveau Projet sur votre serveur TFS. il y aura beaucoup de screenshots pour la simple et bonne raison que c'est, d'après moi, beaucoup plus explicatif qu'une dizaine de lignes descriptives.

La première chose à savoir, pour créer un projet, est que vous (utilisateur/compte) devez posséder les droits nécessaires sur le serveur pour une telle opération. Si vous avez effectivement les permissions adéquates, alors voici la marche à suivre.
Pour commencer, toujours dans le « Team Explorer », faites un clic droit sur le nom de votre serveur et choisissez « New Team Project… ». À ce moment-là, un écran apparaît, en vous demandant de saisir le nom de votre projet :

Ensuite, il vous faut choisir le type de méthodologie à adopter pour la conduite de votre projet. Par défaut, il y en a deux :

- MSF For Agile Software Development ;

- MSF For CMMI Process Improvement.

Comme tout outil de travail collaboratif, il vous faut un moyen de communiquer entre tous les membres de votre équipe de projet. TFS utilise pour cela WSS (Windows SharePoint Services) : un site portail, pour votre projet, sera créé.
C'est à vous de renseigner le nom et la description de ce site, lors de la préparation de votre projet :

L'étape suivante consiste à créer le répertoire de contrôle des sources. Pour simplifier, voyez ce répertoire comme un répertoire de stockage des sources de votre projet : en effet, pour pouvoir uploader les sources de votre projet sur le serveur (et donc profiter au maximum des possibilités de « Source Control » de votre serveur), vous devez spécifier :

- si vous souhaitez créer un nouveau répertoire ;

- si vous souhaitez créer une nouvelle branche d'un projet déjà existant.

Vous avez également la possibilité de ne pas créer, pour le moment, ce répertoire. Auquel cas, vous ne pourrez pas utiliser le « Source Control » dès la fin de la création de votre projet :

Avant de terminer et de valider la création de votre projet, vous vous retrouvez face à une page récapitulative qui vous rappelle l'ensemble des choix que vous avez faits pour ce projet :

Cliquez alors sur le bouton « Finish » validera ces choix et lancera la création du projet.

Attention, ce procesus peut durer un certain temps : en effet, la création d'un projet implique des modifications sur la base de données, la création des groupes et des permissions, etc. ce qui peut prendre plus ou moins longtemps.

Si tout se passe bien, vous devez voir l'écran suivant apparaître sur votre écran :

À la fin de la création du projet, vous devriez voir votre navigateur se lancer et afficher le site Web du projet : ce site Web est entièrement paramétrable, car, comme je vous l'ai déjà dit, c'est un SharePoint

Voilà, votre projet est maintenant créé et prêt à être utilisé : nous allons donc voir comment le paramétrer pour qu'il soit le plus adapté possible à vos besoins.

IX-C - Paramétrage du projet

Il y a plusieurs points que vous pouvez paramétrer pour votre projet :

- la sécurité ;

- les itérations ;

- le source control.

Voyons cela avec plus de détails.

IX-C-1 - La sécurité de votre projet

Vous avez la possibilité, comme vous l'avez fait pour votre serveur, de créer et de donner des droits à des groupes d'utilisateurs.
Ces groupes n'auront accès qu'à votre projet et ne possèderont que les privilèges que vous leur aurez assignés.

Attention, lorsque vous gérez les groupes utilisateurs de votre projet : n'oubliez pas que les permissions appliquées au niveau de votre serveur sont toujours actives.

IX-C-2 - Itération

Les itérations d'un projet sont en quelque sorte les phases qui le composent. Ainsi, un projet peut avoir les itérations suivantes :

- PréAlpha :

- Alpha :

- Beta 1 :

- Beta 2 :

- RC :

- RTM :

- etc.

Vous avez la possibilité d'ajouter autant d'itérations que vous le souhaitez, de créer des sous-itérations, etc.

Mais, me direz-vous, quel est l'intérêt de tout ceci ?
Tout simplement, cela vous permet de spécifier à quelle étape de votre projet une tâche doit être réalisée. Ainsi, vous pouvez spécifier que l'écriture de la documentation de votre code ne doit pas se faire avant la BETA 1, etc.
Bref, cela vous donne la possibilité de n'assigner des tâches qu'à certaines parties de votre projet.

IX-C-3 - Source Control

Nous l'avons vu précédemment, TFS peut être utilisé comme outil de gestion des sources de projets. Ceci dit, vous avez la possibilité de spécifier des caractéristiques différentes pour chaque « Source Control » de vos différents projets.
Vous pouvez, par exemple, autoriser (ou non) les Check Out multiples :

Un Check Out est le rapatriement des fichiers/données, depuis le serveur, sur le poste de développement.

Vous pouvez également spécifier des règles, des contraintes que le développeur doit suivre lors du Check In.

À l'inverse du Check Out, le Check In correspond à l'envoi sur le serveur (la fusion) des données modifiées localement.

Vous pouvez demander qu'une analyse de code soit effectuée, qu'un « work item » soit complété, etc. avant que les données modifiées ne puissent être envoyées au serveur TFS.

IX-D - Utilisation de Team Foundation Server

IX-D-1 - Work Items

Un « Work Item » est un élément de travail. En effet, il peut s'agir d'un bug à résoudre, d'un scénario à compléter, d'une tâche à effectuer, etc.

Par défaut, à la création d'un projet, il y a 14 « Work Item » de type Tâche préconfigurée : ceci résulte de l'utilisation de MSF For Agile Software Development, qui définit des tâches à réaliser AVANT la conception, le développement même du projet.

Comme vous pouvez le voir, les tâches indiquées par ces Work Items prédéfinis permettent une meilleure organisation/gestion du projet : ainsi, on s'assure que tout est parfaitement configuré (permissions, itération, etc.) avant de commencer le développement.

Vous pouvez tout à fait ajouter un Work Item à cette liste. Pour cela, la procédure est relativement simple :
- faites un clic droit sur « Work Items » et pointez « Add Work Item » - là, vous avez la possibilité de choisir le type de Work Item que vous voulez créer : une tâche, un scénario, etc. En effet, n'oubliez pas qu'un Work Item est un élément de travail, une action à faire et à terminer avant de continuer la suite du développement

- entrez les informations relatives à cet élément et choisissez l'itération qui lui correspond:

Seul le nom/titre de l'élément est obligatoire: les autres informations peuvent être ignorées si vous estimez qu'elles ne sont effectivement pas importantes pour la compréhension de l'élément.

- ajoutez, éventuellement, des commentaires/fichiers joints, idéals pour transmettre des fichiers (schémas de bases de données, etc.) aux autres développeurs/membres de l'équipe travaillant sur le projet :

- enregistrez les modifications et, si vous réaffichez l'ensemble des tâches, vous devriez voir celle que vous avez ajoutée.

Vous pouvez aussi modifier un Work Item : faire passer l'état d'un Work Item de « Active » à « Closed » permet de signaler que cet élément n'a plus à être traité. La tâche est terminée, et elle n'apparaît plus dans la liste des tâches à traiter.

IX-D-2 - Documents

Vous avez la possibilité d'ajouter des documents à votre projet : cela peut vous être utile si vous avez besoin d'échanger, entre les membres de votre équipe, des schémas, des fichiers Excel ou Word, des diagrammes de base de données, etc..
Ces documents sont stockés sur le portail SharePoint : VS 2005 ne représente qu'une interface graphique permettant de les afficher.

IX-D-3 - Rapports

Dans le même esprit que la visualisation des documents, le Team Explorer et Visual Studio 2005 vous permettent d'avoir une vue rapide de l'ensemble des rapports qui sont créés pour votre projet.

Attention, lorsque vous demandez la visualisation de certains rapports : en effet, ceux-ci peuvent n'être générés, la première fois, qu'après un certain laps de temps. Par exemple, le rapport de visualisation de builds sera vide tant qu'une build n'aura pas été lancée, etc.

IX-D-4 - Utiliser TFS dans Visual Studio

IX-D-4-a - Ajout d'une solution Visual Studio au Source Control

À partir de ce moment-là, vous avez installé le serveur TFS, puis vous avez créé le projet sur le serveur. Pour pouvoir commencer à travailler, il vous faut ajouter les fichiers de votre application/projet au Source Control.
Pour cela, dans Visual Studio, ouvrez votre projet et, dans l'explorateur de solutions, faites un clic droit dessus puis choisissez « Add Solution to Source Control » :

Indiquez ensuite quel projet, sur le TFS, va recevoir vos sources : en effet, vous pouvez tout à fait avoir un projet qui n'utilise pas le Source Control :

Une fois l'ajout fait, la fenêtre « Pending Changes » apparaît et vous montre les changements qui ont été effectués sur vos fichiers locaux, et qui peuvent être mis à jour sur le serveur.
Comme c'est le début, tous les fichiers sont considérés comme modifiés et doivent être mis à jour avec le serveur.

À noter que, dans votre explorateur de solutions, vous pouvez voir quels fichiers ont été modifiés localement : ainsi, un petit plus apparaît à côté de chaque fichier nécessitant d'être synchronisé/uploadé avec le serveur.

Cliquez alors sur « Check In » pour mettre à jour le serveur avec vos fichiers modifiés. À noter que vous pouvez également cliquer sur « Shelve » pour uploader les fichiers modifiés sur le serveur, mais ne pas les fusionner.

Intérêt du Shelving : si par exemple, une règle sur votre serveur TFS vous impose d'avoir une solution qui compile correctement pour pouvoir la fusionner avec votre serveur, et que cela n'est pas le cas, utiliser l'option « Shelve » vous permet tout de même d'uploader les fichiers, alors que ceux-ci ne compilent pas.

IX-D-4-b - Modifier un fichier

Pour modifier un fichier, vous avez deux possibilités :

- dans l'explorateur de solutions, double cliquez sur le fichier que vous voulez modifier : un « Check Out » automatique sera effectué et le fichier sera alors verrouillé : vous serez le seul à pouvoir le modifier, les autres développeurs travaillant avec vous ne pourront pas changer son contenu tant que vous aurez la main dessus ;

- faites un clic droit sur le nom du fichier et sélectionnez « Check Out for Edit »

Si vous choisissez cette deuxième option, un assistant apparaîtra et vous demandera le type de verrou que vous voulez appliquer sur le fichier :

- None : tous les autres développeurs peuvent faire des Check out sur le même fichier (dangereux, car cela autorise plusieurs personnes à modifier le même fichier) ;

- Check Out : empêche les autres utilisateurs de faire des Check In / Check Out (Recommandé) ;

- Check In : autorise les Check Out multiples, mais empêche les Check In

Une fois les modifications effectuées, pensez à faire un Check In pour que les autres développeurs de votre équipe puissent récupérer et travailler avec la dernière version des fichiers.

IX-D-4-c - Verrouiller un fichier

Si vous désirez verrouiller un fichier pour travailler dessus ultérieurement (et ainsi empêcher qu'un autre membre de votre équipe ne modifie ce fichier avant vous), vous pouvez le locker.
Pour cela, faites un clic droit sur le nom du fichier, et sélectionnez « Lock ».

Là encore, un assistant vous propose deux types de verrous (les mêmes que précédemment).

IX-D-4-d - Spécifier une police de Check In

Si vous souhaitez imposer aux développeurs/membres de votre équipe une règle pour pouvoir uploader leur fichier sur le serveur (donc, faire un Check In), vous devez spécifier une stratégie de Check In (Check In Policy).
Pour cela, dans le Team Explorer, faites clic droit sur le nom du projet, sélectionnez « Team Project Settings » puis « Source Control ». Dans la fenêtre qui apparait, sélectionnez l'onglet « Check In Policy » et cliquez sur « Add ».

Sélectionnez par exemple « Work Item », et essayez de faire un « Check In » sur un fichier : vous devriez avoir un message d'erreur vous indiquant que le checkin ne peut pas être effectué, car les prérequis ne sont pas satisfaits :

En cliquant sur « Policy Warnings », vous pouvez voir les prérequis nécessaires pour réussir un Check In.

Dans notre cas, il faut associer notre Check In à un Work Item : on clique donc sur « Work Items ». Le « Team Explorer » interroge alors TFS pour avoir la liste des Work Items disponibles.

Cochez le (ou les) item(s) adéquat(s) et cliquez sur « Check In ». Le fichier est mis à jour sur le serveur !

Si vous sélectionnez « Resolve » pour le « Check In Action », ceci aura pour effet de supprimer le Work Item de cette liste : en effet, cette action a pour effet d'indiquer que le Check In que vous allez faire termine cette tâche (donc ce Work Item est fini/traité).

IX-D-4-e - Le Source Control en une image

Afin de mieux vous résumer ceci, je vous conseille de regarder cette image, qui reprend tout ce que nous venons de voir : http://www.drp.co.za/posters/0202 Microsoft Team System Source Control.jpg

IX-D-5 - Team Builds

Avec Team Foundation Server, vous pouvez paramétrer des builds automatiques pour vos projets. Cela peut-être pratique si vous ne voulez pas vous-même lancer ces compilations de projet.
Pour cela, il vous suffit de faire un clic droit sur « Team Builds », puis de choisir « New Team Build Type ».
Là, un assistant vous demande le nom (et éventuellement une description) que vous voulez donner à votre Build.

Ensuite, sélectionnez la ou les solutions que vous voulez intégrer à votre Build :

Ensuite, choisissez la configuration pour cette build (Release/Debug, Any CPU, etc.) :

Puis, vous devez indiquer la machine et répertoire de stockage des builds

Vous avez ensuite la possibilité de spécifier des options pour votre Build : ainsi, vous pouvez demander que des tests soit effectués, à ce qu'une analyse de code soit lancée, etc.

Finalement, vous vous retrouvez sur une page qui affiche le résumé de la configuration que vous avez sélectionnée pour le paramétrage de votre Build. Cliquez sur « Finnish » lance la création du projet de build automatique et vous affiche le fichier de configuration (fichier au format XML) :

Maintenant que votre Build est créée, il vous faut pouvoir la lancer/l'exécuter. Pour cela, faites un clic droit sur le nom du projet de build, et choisissez « Build Team Project… » (les … correspondant en fait au nom de votre projet) :

Les options sont normalement préchargées depuis le fichier de configuration de votre Build (le fichier qui est au format XML), mais vous pouvez tout de même en modifier depuis l'écran qui est apparu :

Cliquez alors sur « Build » pour lancer la construction de la(es) solution(s) :

Maintenant, si vous parcourez le répertoire qui stocke le résultat de vos Builds, vous devriez voir celle que vous venez de construire.

X - Conclusions

Team Foundation Server est un excellent outil pour toutes les entreprises qui possèdent des équipes de développeurs travaillant ensemble. Il permet un gain de productivité pour les membres de l'équipe et améliore les temps de développement des applications.
Bref, si vous pouvez l'utiliser, je ne peux que vous le recommander.

Une note toutefois : les produits qui ont été testés sont encore en version BETA. C'est pourquoi vous pouvez être confronté à certains bugs, en particulier sur le Team Explorer (impossibilité de se déconnecter d'un serveur, etc.).
Mais rassurez-vous, cela sera corrigé dans la version finale.

XI - Téléchargements

SQL Server 2005: http://msdn.microsoft.com/SQL/default.aspx
SQL Server 2005 Download: http://www.microsoft.com/downloads/details.aspx?familyid=220549b5-0b07-4448-8848-dcc397514b41&displaylang=en
Windows SharePoint Service: http://www.microsoft.com/windowsserver2003/technologies/sharepoint/default.mspx
Windows SharePoint Service Download: http://www.microsoft.com/downloads/details.aspx?FamilyId=B922B28D-806A-427B-A4C5-AB0F1AA0F7F9&displaylang=en

L'article au format PDF: https://morpheus.developpez.com/vsts/fichiers/vsts.pdf