Vous devez toujours utiliser clean dans une construction CI. Les builds de CI doivent être reproductibles et cela nécessite de partir de zéro! Et à propos du processus qui prend plus de temps: tout l'intérêt d'utiliser CI (l'un des nombreux) est que vous pouvez continuer à travailler pendant qu'il fonctionne, cela ne devrait donc pas poser de problème.
Mais ce que je veux faire est d'utiliser plusieurs couches de CI par projet:
- Un premier emploi compile et exécute des tests de base *, cette construction devrait prendre moins de 5 minutes
- si cela réussit , un deuxième emploi exécute tous les tests *, des mesures de code, javadocs etc
- si cela réussit un troisième emploi déploie la construction à un serveur de test
(Ou vous pouvez laisser le premier déclencheur d'emploi à la fois la deuxième et troisième emploi à la fois)
* Vous pouvez mettre en œuvre les quelques tests/toutes les fonctionnalités de tests en configuration du plugin Maven Surefire différemment par profil)
Il y a un problème lorsque 40 personnes sont engagées dans le même coffre. Vous voulez obtenir des commentaires sur qui a brisé le CI aussi vite que possible, sur le plus petit delta possible. Aujourd'hui, certaines de nos constructions prennent 20-30 minutes, et nous essayons de les raccourcir comme nous le pouvons. – ripper234
Je dirais que 40 personnes est trop grande pour une base de code. Divisez le projet en modules séparés (c'est probablement déjà le cas, je l'espère) et exécutez des tâches CI indépendamment pour un ou plusieurs de ces modules. Mais ne pas utiliser propre n'est jamais la réponse. –