2 votes

Déployer une application Rails depuis Hudson

J'utilise hudson comme CI et cela fonctionne très bien, les builds exécutent leurs tests, les métriques de code, toutes ces bonnes choses. Mais pour l'instant, c'est tout, pas de déploiement automatique, je dois le faire manuellement après. Je n'ai trouvé aucune sorte de plugin capistrano pour Hudson et je ne vois même pas où je peux simplement lancer mon cap deploy après une construction réussie dans Hudson.

Est-ce que quelqu'un a une idée de ce dont j'ai besoin pour automatiser un déploiement vers un serveur de test après une construction réussie ? J'aimerais que chaque commit force un build et à terme déploie sur testing pour que je puisse tout voir tout de suite.

1voto

Nino Points 965

Vous devriez jeter un coup d'œil à quelque chose comme ceci - github.com/karmi/pushr.

Pushr est quelque chose que je n'ai découvert que récemment, mais il est construit au dessus de Capistrano github.com/capistrano/capistrano -- c'est la réponse à presque tous vos besoins de déploiement (j'ai hérité de ce projet l'année dernière) - J'ai une gemme de déploiement 'railsless' si vous ne déployez pas une application Rails, vous pouvez la trouver à github.com/leehambley/

0 votes

Ce n'est pas exactement ce que je recherche. Je cherche un déploiement post build à partir de hudson, je ne veux pas qu'il soit déployé sur postcommit à partir de git.

1voto

Bell Points 5881

Je ne sais pas quel genre d'emploi vous avez créé. Cependant, je travaille avec des projets Maven2 et je peux ajouter des étapes post build. Avec un projet freestyle, vous pouvez également ajouter des étapes de construction supplémentaires. Une autre possibilité est que votre travail déclenche un autre travail qui exécutera le déploiement.

Je suppose que vous avez une sorte de ligne de commande scripts, que vous pouvez utiliser pour déployer votre projet. Ces scripts peuvent être appelés par Hudson.

0 votes

Je sais que les projets maven2 permettent de faire des déploiements post-build et autres, avec cargo en particulier. Donc oui, c'est un projet freestyle, et il a certainement des options post-build, mais je ne vois nulle part que je peux faire du post-build avec mes propres scripts. J'ai juste des options pour poster des résultats de tests et envoyer des emails. Est-ce qu'il me manque un plugin pour cela ? J'ai aussi pensé à déclencher un autre build, qui je suppose pourrait juste être une création de branche et un déploiement, mais ce serait bien de le garder dans un seul projet je pense.

0 votes

Parce que voici ce que je pense. Je voudrais que ce build, en cas de succès, crée une branche avec le numéro de build et déploie à partir de cette branche de sorte qu'elle ne soit pas affectée par les déploiements ultérieurs, de sorte que j'ai gelé la version. Je suppose que tout cela pourrait être accompli dans un "deploy build" quelconque ? Est-ce que c'est un comportement typique de Hudson ? Je suis assez novice en la matière.

1 votes

Vous dites que vous utilisez un projet freestyle. Dans ce cas, ajoutez des étapes de construction supplémentaires pour appeler vos scripts. Je pense que Hudson ne s'exécute que jusqu'à ce qu'il obtienne la première erreur et marque le travail comme infructueux. Si vous voulez séparer les tâches et ne déclencher qu'une deuxième tâche, je vous recommande d'utiliser le plugin "Hudson Parameterized Trigger plugin" pour transmettre des données supplémentaires à la tâche suivante. Je l'utilise pour construire mes artefacts, les pousser dans un référentiel et le second job sur une machine différente récupère ces artefacts et les déploie.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X