Quand je suis le seul à m'engager, je construis et teste juste avant de m'engager. J'utilise généralement une cible de makefile comme:
make sense
Cela configure, construit, exécute tous les tests (valgrind au courant), exécute les lints, etc. Comme je sais que je serai le seul à pousser, je n'ai pas vraiment besoin de la puissance de quelque chose comme Hudson.
De plus, dans un environnement où vous avez plusieurs branches alimentant un référentiel principal, si tout le monde suit toujours le pull avant de valider ou de pousser, le serveur CI peut être un peu trop fatigant. Une règle bien écrite selon laquelle l'auteur de tout ce qui a cassé la dernière version achète de la pizza le vendredi permet généralement de bien fonctionner :)
S'il entre dans une situation où un projet est clairement divisé en sous-systèmes qui ont leurs propres dirigeants, vous devez vraiment envisager d'utiliser quelque chose comme Hudson. Quelqu'un pourrait tester localement, perdre une course avec un autre sous-système et finir par pousser quelque chose de toxique.
De plus, si vous maintenez une fourchette d'un projet en évolution rapide (par exemple, votre propre ensemble de correctifs pour le noyau Linux), vous devriez vraiment envisager d'utiliser quelque chose comme Hudson, même si vous êtes `` solo '' sur ce projet. Cela est particulièrement vrai si vous branchez / rebase directement à partir de la ligne principale.