On ne devrait jamais avoir à se connecter à une machine de build. Mais cela n’est vrai que lorsque le processus de build tourne rond. Mais des fois, tout déraille et il se peut que cela ne compile pas sur la machine de build, mais que cela compile sur les postes des utilisateurs (le fameux “ça marche sur ma machine”). Il y a plusieurs causes à cela:
Cause n°1. Certains développeurs “oublient” d’archiver des fichiers. Cela arrive bien trop souvent! Dans ce cas on est bien content d’avoir Visual Studio sur la machine de build pour pouvoir ouvrir le projet. Je conseille donc vivement d’avoir Visual Studio sur chaque machine de build. Surtout que cette installation est souvent nécessaire pour certaines opérations. Des fois c’est plus tordu que cela: des références projets peuvent être remplacées par des références binaires vers des composants de la solution et cela change l’ordre de compilation. Cela ne se voit pas dans VS et comportement bizarre assuré! Il arrive aussi de devoir comparer le code à compiler à sa version précédente, dans ce cas, un outil comme KDiff est bien utile.
Cause n°2. Les dépendances des projets ont changé: un nouveau projet a besoin de compiler, ou un composant externe a besoin d’être installé. Dans ce cas, les logs de la build sont une bonne source d’indices. Mais des fois, il faut aller sur la machine, ouvrir le projet – comme pour la première étape – et ajouter le composant nécessaire. Je vous conseille de toujours maintenir une liste avec les composants à installer. Sur cette liste on retrouve généralement:
- des composants graphiques ou non d’éditeurs tiers
- des SDK Microsofts (comme par exemple celui de Blend: on l’oublie souvent celui là)
- des utilitaires, générateurs de code ou autres.
Cause n°3. Rien à changé, mais le code ne compile plus. Il faut alors mettre les mains dans le moteur: voir si il y a un blocage dans le processus de build, analyser les scripts. Pour toutes ces raisons, rien de tel que Notepad++ et des Sysinternals tools pour cela. S’il faut debugger des programmes qui font parti du processus de build, il faut alors sortir les grands moyens. Quelques fois le remote debugger de Visual Studio suffit, mais lorsqu’il faut attacher un debugger au départ d’un projet, les Debuggings Tools sont nécessaires (Plus de détail ici).
Tous ces programmes n’ont pas besoin d’être installés, il suffit de copier les binaires. Pour être sûr d’avoir une machine de build à jour, il suffit de synchroniser un dossier contenant ces outils via le contrôleur de source de TFS. Un simple “get latest version” permet ensuite de mettre à jour la machine.
@+