By Loïc Baumann ( February 24, 2012 at 10:54) · Filed under ALM, Pro, TFS11
Conjointement avec la sortie de la Beta de Visual Studio 11 Brian Harry a annoncé la sortie d’une nouvelle version de TFS nommé “TFS Express” ce qui porte maintenant leur nombre à quatre:
- Team Foundation Service: la version “in the cloud” de TFS
- TFS “Standard/Full” : la version la plus complète de TFS
- TFS Basic : version au fonctionnalité et déploiement simplifié
- TFS Express : le dernier arrivant
TFS Express, pour qui et pour quoi ?
TFS Express vient compléter la gamme “Express” des produits de développement tels que Visual Studio ou SQL Server. Comme ses compères , TFS Express est donc gratuit et destiné aux passionnés, débutants souhaitant démarrer l’ALM sur une équipe réduite.
Les fonctionnalités annoncées de TFS Express:
- Gestionnaire de configuration avec le Source Code Control
- Suivi des tâches avec le Work Item Tracking
- Compilation automatisé
- Tableau de tâches Agile
Read the rest of this entry »
Permalink
By Loïc Baumann ( February 7, 2012 at 19:07) · Filed under ALM, Pro, ALM, NuGet, TFS2010
NuGet is really a great tool, something that we’ve missed for many many years in the Microsoft World. But don’t expect it to be at the top yet, which is understandable due to his young age. However it’s improving and the latest version 1.6 just proves it!
Two ways to put under Source Control your NuGet package references
Let’s briefly describe these methods by starting with the first introduced in the tool
Permalink
By Loïc Baumann ( September 16, 2011 at 14:12) · Filed under ALM, ALM, C++
Les développeurs C++ ont tendance à être oublié par Microsoft quant il s’agit d’ALM pour les outils client. Il faut dire que l’éditeur s’est penché sur cette discipline après la sortie de .net et celui-ci rend plus facile la réalisation de certains points comme les outils liés à l’architecture.
Par exemple lorsque Visual Studio 2010 est sortit, les fonctionnalités Modeling liées à l’architecture étaient réservées au monde de .net. On peut le comprendre car pour développer ce genre de fonctionnalités on pourra se reposer sur le mécanisme de réflexion qu’offre la plateforme .net.
Lorsqu’un langage ne permet pas de faire de la réflexion (comme le C++), seul le parsing des sources d’un projet permet d’extraire les données que l’on souhaite analyser. Ceux qui font du C++ savent que parser efficacement un fichier .cpp relève de l’exploit que seul le parseur de votre compilateur préféré sait réellement faire.
Voilà pourquoi logiquement (malheureusement) les développeurs natifs ont été privés de ce genre d’outil…jusqu’à ce que le Visualization & Modeling Feature Pack point le bout de son .vsix.
Cette extension de Visual Studio est disponible pour les abonnés de la MSDN qui utilisent Visual Studio Ultimate, celle-ci offre bon nombre de nouvelles fonctionnalités (qui auront été coupées de la RTM ou demandées massivement par les utilisateurs).
Ce billet est consacré, vous l’aurez deviné, aux fonctionnalités liées au C++.
Permalink
By Loïc Baumann ( June 2, 2011 at 23:19) · Filed under ALM, Pro, ALM, Lab Manager, TFS2010
Visual Studio 2010 Lab Management est considéré comment le summum de l’intégration continue, il permet d’intégrer dans ce cycle la gestion des machines utilisées pour effectuer les diverses campagnes de test.
L’industrialisation de ce procédé à un coût : la configuration. Il faut avouer que dans notre cas, il est élevé: mettre en place Lab Manager demande un certain nombre de compétences, des connaissances et une bonne dose de patience!
Ce “problème” ayant été remonté très tôt auprès de Microsoft, l’éditeur de Redmond a entreprit certains chantiers afin de limiter la casse.
Un premier outil est sortit depuis quelques mois déjà: le VM Prep Tool, il prend en charge la fastidieuse tâche de créer/préparer une machine virtuelle pour que celle-ci soit prête à l’utilisation par Lab Manager.
Concrètement cela consiste à installer les différents agents liés à TFS, les patches et faire des réglages systèmes spécifiques à la gestion des VM.
L’outil se télécharge à l’adresse suivante: http://archive.msdn.microsoft.com/vslabmgmt. L’installation est un peu compliquée mais il suffit de suivre le guide inclut dans la page de téléchargement.
Deux modes d’utilisation sont disponibles:
- Self Service Mode: permet de configurer/mettre à jour une VM pour qu’elle soit utilisable par Lab Manager.
- Admin Mode: permet de créer à partir d’une machine virtuelle un template prêt pour Lab Manager.
Read the rest of this entry »
Permalink
By Loïc Baumann ( May 16, 2011 at 00:13) · Filed under ALM, Pro, ALM, Team Build, TFS2010
Team Build 2010 résout fort simplement une problématique que l’on a depuis des lustres: comment débugger facilement une release ancienne ou compilée par une chaine d’intégration continue. Ceux qui savent de quoi je parle l’auront déjà compris: avoir les fichiers sources qui correspondent à ce que vous débuggez peut s’avérer être une tâche difficile voire impossible.
La théorie (grosse maille)
Pourquoi? Revenons rapidement sur le mécanisme du debugging (mais alors très rapidement):
- Tout commence par l’Exe que vous débuggez, ainsi que les DLL qu’il utilise: c’est le programme qui est exécuté pas à pas par le débuggeur. Seulement, si vous n’avez pas les sources, vous n’aurez qu’une vue code assembleur de votre programme et même si vous avez passé plusieurs années à faire de l’assembleur, ca ne vous donnera pas pour autant le courage de faire avec!
- L’utilisateur veut débugger avec les sources qui ont étés utilisées pour compiler le programme. Un type de fichiers existe pour faire le lien entre un fichier binaire (.exe, .dll): c’est le .pdb. Grossièrement le .pdb stocke pour chaque statement de votre langage le fichier source (un .cs par exemple) dans lequel il se trouvait et à quelle ligne.
- Lors du debugging, lorsqu’un fichier binaire est chargé, le débuggeur va tenter de trouver le fichier .pdb correspondant (en cherchant d’abord dans le même dossier que le binaire, puis dans tous les chemins d’une variable système).
S’il y arrive, il pourra alors tenter d’ouvrir les fichiers sources référencés, ceux-ci sont exprimés en absolu, mais si le fichier n’est pas trouvé alors le débuggeur vous demandera de le localiser vous-même.
Dans ce qui vient d’être énoncé, une problématique courante n’est pas prise en compte:
Lors du développement en équipe, un fichier source va évoluer à travers plusieurs versions (qui seront bien évidemment stockées dans le Source Control de votre TFS adoré), il faut donc trouver la version correspondante au binaire car debugger un .exe d’il y a 6 mois avec les dernières: ca ne marche pas top!
Malheureusement, lorsque le .pdb est généré par le compilateur, il n’y a aucune trace de version. Cela peut se comprendre car le compilateur n’est en aucun cas lié au système de gestion de configuration, pour lui il compile des fichiers sans aucune notion de versionning. A moins de mettre toutes vos sources et livrables d’une Build donnée dans un répertoire spécifique (ce qui devient vite l’usine à gaz), il faut pouvoir lier le .pdb au source control.
La solution (toujours théorique)
Ca tombe bien, car le .pdb peut gérer l’extraction de sources à partir d’un source control (pour autant que celui-ci peut être invoqué en ligne de commande).
Read the rest of this entry »
Permalink
By Loïc Baumann ( April 17, 2011 at 15:02) · Filed under ALM, Pro, ALM, MustHave, TFS2010
Voilà une fonctionnalité qui n’a toujours pas été implémenté dans Visual Studio: rechercher un Work Item à partir du texte qu’il contient dans les principaux champs. La plupart des gens se rabattent sur le Web Access de TFS pour faire ce genre de recherche, ce qui est un peu agaçant.
Un outil existe depuis quelque temps: Search Work Items for TFS 2010 (télécharger ici).
Celui-ci vous rajoutera une barre d’outils dans Visual Studio qui retournera la liste des Work Item qui contiennent le texte que vous avez spécifié.
Par défaut, seuls les champs Title, History et Description sont utilisés pour la recherche.
Read the rest of this entry »
Permalink
By Loïc Baumann ( April 14, 2011 at 18:08) · Filed under ALM, Pro, ALM, MustHave, TFS2010
Une remarque que j’entends souvent lorsqu’on parle de TFS: “Dans Team Explorer, pourquoi on ne peut pas mettre de dossiers pour organiser nos builds???”.
C’est vrai que dans un vrai projet le nombre de Build de TeamBuild devient vite conséquent, alors on se retrouve à chercher le bon item parmi les 200 présents, c’est énervant et ca fait désordre!
Surtout qu’on ne demande pas la mer à boire non plus, développer cette fonctionnalité ne doit pas prendre des mois et pourtant cela fait des années qu’on l’attend, donc ca agace…
Read the rest of this entry »
Permalink
By Loïc Baumann ( March 25, 2011 at 23:54) · Filed under ALM, Pro, ALM, MustHave, TFS2010
Team Foundation Server se base sur SharePoint pour la partie portail collaborative et SQL Server Reporting Services pour la partie rapport de données.
Pour l’utilisateur non avertit, le point d’entré est TFS et les deux autres technologies sont encapsulées par celui-ci. Si bien que lorsque celui-ci administre les permissions dans Visual Studio il s’attend à ce qu’elles soient effectives aussi bien sur TFS que SharePoint et SSRS.
Malheureusement ce n’est pas le cas, Microsoft souhaite garder des administrations de permissions distinctes au grand malheurs de beaucoup de gens se retrouvant à faire les mêmes manipulations en trois exemplaires…
Mais voilà, un outil Codeplex développé par des passionnés nous apporte la solution!
Les Team Foundation Server Administration Tool se charge d’administrer les permissions des trois plateformes en même temps et à partir d’une interface unifiée!
Read the rest of this entry »
Permalink
By Loïc Baumann ( March 16, 2011 at 21:47) · Filed under ALM, Pro, ALM, MustHave, TFS2010
Beaucoup de personne qui débutent avec l’offre ALM de Microsoft se contentent d’utiliser le minimum requis, à savoir un TFS 2010 installé du coté serveur et un Visual Studio 2010 du coté client.
On ne peut pas les blâmer, on pourrait s’attendre à avoir toutes les fonctionnalités nécessaires pour développer sur à l’aide de cette plateforme et lorsqu’une fonctionnalité manque, notre moteur de recherche favori ne va peut être pas nous retourner la bonne solution voire…trop de solutions!
TFS est un peu victime de son succès, son ouverture permet de créer une quantité incroyable d’add-ons, d’applications serveur/clientes si bien qu’on se perd vite. Du plus il n’y a pas vraiment de référentiel qui répertorie tout ce qu’on pourrait utiliser alors quand on débarque, on ne sait pas où mettre les pieds!
Je vais donc commencer une série de billets taggés “MustHave” qui fera une brève description des outils jugés incontournables. Mais avant ca, étudions un peu les différentes familles d’outils disponibles rangé par catégorie de distribution.
Les différentes contributions
Il y a plusieurs familles d’outils gravitant autour de l’écosystème TFS, étudions les principales rapidement:
Microsoft – General Distribution Release (GDR)
GDR est un type de distribution générique chez Microsoft, ma compréhension sur ce type est que les GDR sont des versions plus abouties de produits (ou partie d’un produit) étant déjà sortie où Microsoft aurait jugé bon de ne pas attendre la prochaine version majeure. Vous avez suivi? Un exemple!?
Le meilleur exemple pour l’ALM est la partie Database Edition 2008, dans sa version RTM les fonctionnalités étaient assez limitées, si bien que Microsoft à décidé de sortir une GDR assez rapidement pour fournir une version vraiment exploitable sans attendre la version 2010 (qui intègre toutes ces évolutions et plus).
Read the rest of this entry »
Permalink
By Loïc Baumann ( March 7, 2011 at 21:54) · Filed under ALM, Pro, ALM, TFS Power Tools
Un petit guide rapide pour expliquer comment créer son Process Template avec Visual Studio et TFS 2010.
Un peu d’histoire et de théorie
Le Process Template est le modèle qui sert à décrire entre autre la gouvernance et la méthodologie qui sera utilisée lors de la création d’un Team Project. Il est composé des modules suivants:
- La définition des types de Work Item (Task, Bug étant les plus connus).
- Les types de liens pour créer des associations entre Work Items.
- Les Work Item par défaut qui seront crées lors de la création d’un Team Project.
- Les différentes Query de Work Item (WIQL).
- Les Areas & Iterations par défaut.
- Les groupes et permissions.
- Les paramètres du Source Control.
- Les documents et librairies crées sur le site SharePoint.
- Les Rapports qui seront déposés sur SQL Server Reporting Services.
D’un point de vue physique le Process Template est un ensemble de fichiers stockés dans un répertoire principal qui porte son nom (e.g. “MSF for Agile Software Development v5.0”). Le point d’entré est le fichier ProcessTemplate.xml, il référence tous les différents modules qui auront chacuns un sous-répertoire à leur nom, qui contiendra toutes les informations ainsi qu’un point d’entrée sous la forme d’un fichier XML portant le nom du module.
Read the rest of this entry »
Permalink