• Teambuild

    En cours de test pour un partenaire, Visual Studio Team Server a pour l'instant réussi un quasi-sans-fautes quant à la simplicité d'utilisation (mais pas d'installation), la performance, les possibilités et d'accessibilité par des bureaux déportés. Le prochain test se situe au niveau de la machine de build et, pour l'instant, c'est encore une bonne impression qui domine.

    Utilisant depuis quelques temps CruiseControl.NET, accompagné d'une tonne et demie de plug-ins fait maison, la migration vers un autre système de build ne se fera que si le jeu en vaut la chandelle. Voici déjà quelques remarques concernant TeamBuild :

    • il ne s'agit pas d'une solution d'intégration continue, c'est assez simple de le transformer pour cela (voir ce post et celui-ci) mais il ne s'agit pas de son utilisation première qui reste le build "à la demande"
    • il est basé sur MSBuild, ce qui est plutôt un bon point : les tâches créées pour l'un fonctionne pour l'autre
    • Le resultat des builds est intégré (en cas d'erreur) dans les tâches du projet, avec les logs
    • Il est (assez) facile de déplacer le build entre plusieurs machines.
    • Le reporting de TFS reprends les infos des builds

    Cela étant dit, il me manque encore un certain nombre d'outils et/ou tâches à créer (à moins que ce soit des fonctionnalités qui m'ont échapée) :

    • Une solution simple pour gérer le versionning des assemblies (la solution est un peu pénible à mettre en place : une interface graphique serait vraiment la bienvenue)
    • Un outil permettant de déclencher un build sur le même jeu de changeset qu'un autre (par exemple construire le build "Release" correspondant à un build "Debug" réalisé il y a quelques jours, avant les tests de recette)
    • Des tâches permettant un retour plus intuitif de l'information - un petit post sur un blog privé par exemple serait impeccable -, une meilleure gestion des fichiers, etc.
    • La possibilité de gérer facilement les dossiers de sortie de chacun des projets : la configuration standard copiant toutes les assemblies compilées dans un seul et unique dossier de release