Question

Le plugin git pour hudson fonctionne bien. Cependant, le script de compilation doit mettre à jour un numéro de version dans les fichiers du référentiel, et repousser au dépôt.

Quand les sondages Hudson à côté de vérifier les modifications, il va dans une boucle infinie, car il voit commettre un « changement » construit à nouveau, ce qui engage un changement, il construit à nouveau, il engage un autre changement, etc .. . Vous avez l'idée.

Je me suis arrêté il, a couru un « journal git » dans chaque dépôt et comparé les dernières ids sont exactement commettre la même en utilisant HEAD ls-tree git

En outre, Hudson exécute cette commande pour vérifier les modifications:

git fetch + refs / heads / : refs / remotes / origine / HEAD git ls-tree

Depuis Hudson lui-même poussé la validation de son référentiel d'espace de travail, et apparemment les résultats correspondent ls-arbre, comment cette commande peut déterminer qu'il ya comme un changement?

Il semble qu'il faut stocker les résultats de ls-arbre avant de faire la construction et la comparaison à ce qui ne sera pas avoir la dernière validation. Ah. Je peux essayer de désactiver la validation pour tester cette théorie.

Quoi qu'il en soit, au lieu de résoudre tout problème dans le plugin git pour Hudson, que puis-je faire pour vous à la fin de ma construction que les prises en pension sont identiques et que Hudson va le voir ainsi.

Comment résoudre ce problème? Toutes les idées?

Wayne

Était-ce utile?

La solution 2

Et la réponse est! ...

Le plugin Hudson Git était déjà bifurqué par quelqu'un pour ajouter cette fonctionnalité, il fonctionne bien. Pourtant, je devais tirer vers le bas la source et corriger quelques problèmes mineurs.

Maintenant, il fonctionne à merveille. La construction engage et le plugin Git repousse au référentiel sans boucle, pensant qu'il a à nouveau changé.

Magnifique!

Si quelqu'un d'autre a besoin ce regard pour la fourche tickzoom du Hudson-GIT-Plugin sur Github.com mais vérifiez si cela a déjà été intégré de retour dans le projet principal. Le validateur a dit qu'il était intéressé et la planification sur la combinaison des fourches.

Wayne

Autres conseils

Votre système de construction ne devrait avoir aucune interaction d'écriture avec votre système de contrôle de révision. Il devrait certainement pas pousser ces changements automatiquement.

Votre système de construction peut demander git (via git describe, par exemple) ce que la révision en cours est. Tout le reste est redondant et sujette aux erreurs.

Une autre chose que vous pouvez envisager ne interroge pas les changements. Cela semble être une façon stupide de fonctionner. (Il est vrai, je suis un gros utilisateur de buildbot assez habitué à avoir tout déclenché sur les événements.)

Le git qui est en cours d'analyse sait quand il change. Il faut simplement indiquer au système de CI pour commencer une construction immédiatement sur cette base. Vous obtenez votre builds plus tôt et qu'ils sont tous déclenchés, vous n'avez pas vos ordinateurs assis autour de faire beaucoup de travail sans raison valable.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top