J’ai installé TFS 2010, et après ? Une build ça ne sert pas qu’à compiler, mais finalement c’est déjà pas mal!
Qui n’a jamais entendu une des choses suivantes:
- Je ne comprends pas ca marche sur ma machine
- Ca va plus vite de déployer directement depuis mon poste
- Fais-moi confiance, j’ai compilé avec les bonnes versions des bibliothèques tierces.
- Je sais plus quelle version j’ai compilé, j’ai pas mis de label.
Et qui n’a jamais eu ces résultats:
- Ca ne compile QUE sur son poste
- Il manque des fichiers lors du déploiement, mais il ne pouvait pas savoir dit-il.
- Il ne savais pas qu’on avait changé de version de composants
- On ne sait pas quelle version est en prod
En bref, dès que l’on laisse la responsabilité de la compilation du logiciel sur un poste de développeur, cela devient vite problématique. Ce n’est pas seulement du à un problème entre la chaise et le clavier, mais à ce qui fait la caractéristique même du poste de travail du développeur. Le poste du développeur n’est pas figé, il évolue dans le temps: nouveaux outils installés, nouveaux programmes à compiler…
C’est pour cela qu’un poste de build dédié est important:
- il a toujours la même configuration
- il est contient les bibliothèques nécessaires à la compilation dans leur bonne version
- Personne ne travaille dessus
- Son installation est documentée lorsqu'elle est complexe pour être reproductible. Il y a au moins la liste des outils nécessaires à la compilation avec le numéro de version correspondant.

La build a toujours raison!
Cette machine est donc capable de compiler 2 versions du logiciel dans le même environnement. Ce qui veut dire que si la première version compile, mais pas la seconde, c’est du généralement à un problème coté développeur. Et à choisir entre croire la machine de build et le développeur, je crois généralement la machine de build. Pour quelles raisons cela compile sur le poste du développeur alors que cela ne devrait pas:
- Il n’a pas la bonne version du code source (un petit oubli de GetLatest…)
- Il n’a pas la bonne version des bibliothèques, ou il utilise une mauvaise version du framework
- …
Le plus long à faire pour la création d’une machine de build est de trouver la machine, car une fois qu’elle est disponible et dédiée à l’équipe, l’installation est simple. Généralement l’accès à la machine de build est restreint car personne n’a théoriquement le droit de s’y connecter, à part pour de la maintenance ou des évolutions d’outils. Dans certains cas, où la résolution du problème n’est tout simplement pas possible sur les postes des développeurs car l’erreur n’est pas reproductible, il est tout à fait possible de corriger le bug directement sur la machine de build, mais cette option est à éviter.
Dans tout cela si je devais garder qu’un une image, je pense que cela serait celle-ci:

@+
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :