2010-12-05 27 views
2

En ce moment j'utilise l'Hudson CI pour construire un projet de taille moyenne toutes les 5 minutes sur le changement SCM. Je voudrais pousser l'utilisation un peu plus loin, et faire en sorte de faire les bonnes constructions quotidiennes/nocturnes (pour le moment l'IC ne fait rien avec les produits, il est là pour les tests unitaires seulement)Puis-je construire Hudson une seule fois pendant une seule journée? (mais pas à un moment précis)

Cependant, le problème est que le serveur CI n'est pas exécuté sur une boîte dédiée - c'est en fait une machine qui est allumée pendant la majeure partie de la journée, mais qui s'éteint finalement (elle n'est pas allumée pour un démarrage prévisible). Donc je voudrais juste coller @daily dans Hudson, mais d'après ce que je peux dire, cela se construit à minuit, quand il y a de très grandes chances que la machine ne soit même pas allumée.

Y a-t-il un moyen pour que hudson effectue une seule construction tous les jours, mais pas à un moment précis? par exemple. Puis-je le déclencher dès que hudson démarre, ou quelque chose du genre?

Merci

Répondre

1

Vous pouvez utiliser le plug-in CLI pour contrôler le processus externe d'Hudson.

Vous pouvez ensuite écrire tout ce dont vous avez besoin autour d'elle, comme le placer dans un script cron "run every hour" où vous gardez trace de la dernière invocation de la construction, ainsi vous pouvez déterminer quand vous voulez lancer la construction encore.

0

Utilisez-vous ANT pour construire vos classes? Dans ce cas, vous pouvez implémenter la fonctionnalité 'une fois par jour' dans votre fichier de construction ant.

Ecrivez la date dans un fichier lors de la construction, et ne créez que si ce n'est pas la date actuelle. Dans ce scénario, Hudson vérifie toujours toutes les 5 minutes, et Ant ignore simplement le processus de construction s'il détermine que la construction pour aujourd'hui a déjà été effectuée.

Je suppose que vous pouvez créer une solution similaire en utilisant d'autres outils de construction.

0

Le dépôt plugin Hudson a un plugin pour le démarrage construit quand Hudson est lancé: http://wiki.hudson-ci.org/display/HUDSON/Startup+Trigger

Installez le plug-in à travers le « Gérer Hudson » page et activer la détente sur chaque emploi que vous voulez construire au démarrage en haut

Si vous redémarrez la machine tous les jours, elle pourrait vous fournir ce que vous voulez.