Je travaille dans une société de logiciels où notre langage de développement principal est Java. Naturellement, nous utilisons Hudson pour des builds continus, pour lesquels il fonctionne avec brio. Cependant, Hudson n'est pas très bon pour d'autres choses que nous lui demandons de faire. Nous utilisons également des jobs Hudson pour déployer des binaires, actualiser des bases de données, lancer des tests de charge, régressions d'exécution, etc. Nous rencontrons vraiment des problèmes en présence de dépendances de build (les tests de charge requièrent une actualisation DB).Autre gestionnaire de construction pour Hudson
est ici la seule chose que Hudson ne fait pas que nous avons vraiment besoin:
Construire la dépendance: Il prend en charge les dépendances de construction pour Ant construit, mais pas pour les emplois Hudson. Nous utilisons la fonction d'invocation d'URL pour qu'un travail Hudson appelle un autre travail Hudson. Le problème est que Hudson retourne toujours un 200 et ne bloque pas jusqu'à ce que le travail est terminé. Cela signifie que le travail appelant ne sait pas a) si la construction a échoué et b) si cela n'a pas échoué, combien de temps cela a pris.
Il serait bien de ne pas avoir à utiliser le script shell pour spécifier le comportement d'une construction, mais ce n'est pas totalement nécessaire.
Toute direction serait bien. Peut-être que nous n'utilisons pas Hudson dans le bon sens (toutes les builds doivent-elles être construites Ant?) Ou peut-être avons-nous besoin d'un autre produit pour notre déploiement en un clic, migration, rafraîchissement DB, etc. Pour clarifier, nous avons des paramètres dans nos builds qui peuvent causer différentes dépendances en fonction des paramètres. C'est à dire. Parfois, nous voulons tester la charge avec un rafraîchissement DB, parfois sans rafraîchissement DB. Malheureusement, la création d'un travail Hudson pour chaque combinaison de paramètres (comme l'exige le plugin Join) ne fonctionnera pas car les différentes combinaisons peuvent parfois mener à des dizaines de tâches.
Pouvez-vous expliquer ce que vous entendez par "dépendance de construction"? Il est facile de configurer un projet Hudson pour lancer une autre build Hudson. Avez-vous besoin de quelque chose de plus automatique? –
Hudson est aussi bon que possible, les alternatives sont loin d'être aussi compétentes. Restez avec. – skaffman
Si vous rencontrez des problèmes pour que Hudson fasse ce que vous voulez faire, vous pouvez réexaminer votre configuration et les choses que vous essayez de faire (par exemple, pourquoi partagez-vous une base de données entre des environnements de test de charge et autres builds) –