Bamboo Vs. Hudson (Alias Jenkins) vs tout autre système de CI [fermé]
Quelqu'un a de L'expérience avec Hudson et Bamboo? Des réflexions sur les forces et les faiblesses relatives de ces produits?
OK, puisque les gens continuent de mentionner d'autres produits CI, je vais ouvrir cela plus loin. Voici mon problème général. Je veux configurer un système CI pour un nouveau projet. Ce projet aura probablement des composants Java (WARs et JARs), des modules python, et peut-être même un composant.net. Donc, je veux un serveur CI qui peut:
- gérer plusieurs langues,
- déployer des artefacts sur les serveurs (c'est-à-dire déployer la guerre si tous les tests unitaires passent.)
- je voudrais aussi quelque chose qui s'intègre à un outil de couverture de code décent.
- les bons rapports sont agréables, mais pas essentiels.
- plusieurs mécanismes de notification lorsque les choses tournent mal.
- Je ne suis pas inquiet pour l'hébergement. Je vais l'exécuter sur un serveur local ou sur une instance Amazon.
- aussi, cela peut-être tarte dans le ciel, mais y a-t-il quelque chose qui peut aussi construire des applications iPhone?
6 réponses
Disclaimer: je travaille sur le bambou et donc je ne vais pas commenter les caractéristiques des autres produits CI puisque mon expérience avec eux est limitée.
Pour répondre à vos besoins spécifiques:
Gérer plusieurs langues
Bambou a la sortie de la boîte de support pour plusieurs langues. Les clients l'utilisent avec Java,. Net, PHP, JavaScript, etc. Cela étant dit, la plupart des serveurs de build sont assez génériques pour au moins exécuter un script qui peut lancer votre build processus.
Déployer des artefacts sur les serveurs (c'est-à-dire déployer la guerre si tous les tests unitaires passent.)
Bamboo 2.7 prend en charge les étapes de construction, qui vous permettent de diviser votre construction en une étape de Test unitaire et une étape de déploiement. Seulement si l'étape de test unitaire réussit, la construction passera à L'étape de déploiement. Dans Bamboo 3.0 , nous soutiendrons le partage D'artefacts entre les étapes, vous permettant de créer un artefact (par exemple votre guerre) dans la première étape et d'utiliser cet artefact dans le étapes suivantes pour les tests et le déploiement.
Je voudrais aussi quelque chose qui s'intègre à un outil de couverture de code décent.
Bamboo est livré avec le support de Clover et dispose également d'un plugin disponible pour Cobertura.
Les bons rapports sont agréables, mais pas essentiels.
Bamboo a un Tout un tas de rapports {[18] } qui sont gentils, mais pas essentiels:)
Mécanismes de notification multiples lorsque les choses vont mal.
Bamboo peut vous informer par e-mail, RSS, IM, un plugin IDE ou un joli panneau mural visible par toute l'équipe.
Je ne suis pas inquiet pour l'hébergement. Je vais l'exécuter sur un serveur local ou sur une instance Amazon.
Par expérience, il est généralement moins cher d'héberger votre propre serveur CI. Mais si vous avez besoin d'échelle, Bambou facilite distribuer vos constructions à d'autres agents locaux ou à l'échelle d'Amazon via Élastique agent.
En outre, cela peut-être tarte dans le ciel, mais y at-il quelque chose qui peut aussi construire des applications IPhone?
Semblable à la réponse à votre première question, la plupart des serveurs CI seront en mesure de construire des applications iPhone à certains égards. Il est possible qu'il y ait un peu plus de scripts requis cependant.
Prix: Bamboo N'est pas gratuit(en dehors de notre licence libre starter ) / libre / open-source, mais vous obtiendrez le code source de Bamboo si vous achetez une publicité licence et support complet. Par rapport au coût de la puissance de calcul et de la maintenance potentielle requise pour un serveur CI, le coût D'une licence Bamboo est plutôt faible.
J'espère que cela aide.
Je N'ai pas utilisé de bambou mais J'ai utilisé Hudson, Cruise et TFS et de tous Hudson était de loin le meilleur. Il est ridiculement facile à mettre en place et a une interface graphique web très agréable pour la configuration du projet. Ce qui est génial avec Hudson, c'est qu'il supporte à peu près n'importe quelle langue et fonctionnalité que vous pourriez vouloir en supposant que quelqu'un a écrit un plug-in pour cela, ce qu'ils ont probablement.
Http://wiki.hudson-ci.org/display/HUDSON/Plugins
Nous l'avons utilisé pour exécuter. net, Java et C++ s'appuie sur des intervalles chronométrés ainsi que SVN checkins avec des harnais de test automatisés et c'était génial. L'endroit avant-dernier où j'ai travaillé a commencé le développement de l'iPhone juste avant mon départ et je crois qu'ils utilisaient Hudson pour cela aussi.
Plus c'est gratuit!
Bambou vs Hudson, à un niveau très superficiel, semble se réduire à:
- bambou: facile à utiliser et beau
- Jenkins: rugueux sur les bords, mais est beaucoup plus flexible que le bambou
Bamboo et Jenkins ont de nombreux bugs (vous rencontrerez des problèmes) mais au moins avec Jenkins, vous êtes beaucoup plus susceptible d'avoir une solution de contournement jusqu'à ce qu'elle soit corrigée. Avec Bamboo, vous êtes coincé en attente d'une mise à jour.
Avertissement: je travaille avec Jenkins.
Dans notre organisation (assez grande, plus de 100 développeurs), nous avons trouvé aussi ces deux fonctionnalités très utiles:
- plugin CAS avec la stratégie de sécurité du projet matrix
- Plugin De Construction De Pipeline
- calendrier de sortie LTS.
A propos de vos questions:
- OK
- plugin SCP ou PLUGIN SSH
- nous utilisons FINDBUGS, Plug-in de collecteur D'analyse statique, plug-ins D'analyse de Code statique, tâche Greffon De Scanner
- précédent au point 3 + Jenkins doclinks plugin
- nous utilisons email Jenkins email Extension Plugin, mais il prend également en charge d'autres systèmes, comme rss, Twitter publier, sms...
- Nous fonctionnons dans un hébergement Tomcat, localement.
- Oui.
Eh bien, je N'ai pas utilisé Bamboo jusqu'à présent, mais une différence est que Hudson est un logiciel libre/libre/open-source.
Si vous êtes prêt à payer pour cela, Anthill fait tout ce que vous regardez. Nous l'utilisons dans mon cabinet pour notre équipe web, et c'est assez puissant.
Gérer plusieurs langues
Prêt à l'emploi, il automatise vos scripts existants et gère les artefacts qu'ils produisent, quelle que soit la langue.
Déployer des artefacts sur les serveurs (c'est-à-dire déployer la guerre si tous les tests unitaires passent.)
Le déploiement peut être ajouté en tant qu'étape dans votre build processus. Je ne suis pas sûr que vous voudriez déployer directement à la production, mais vous pourriez certainement si la direction dit que vous devez.
Je voudrais aussi quelque chose qui s'intègre à un outil de couverture de code décent.
Ils intègrent hors de la boîte avec Clover, Cobertura, Emma, Checkstyle, CodeSonar, Coverity, FindBugs, Fortify, Klocwork, PMD et Sonar.
Les bons rapports sont agréables, mais pas essentiels.
Je ne suis pas sûr de ce que sont les rapports disponible mais il y a un onglet Rapports (Je n'y vais pas :-) )
Plusieurs mécanismes de notification lorsque les choses tournent mal.
Je sais qu'il peut faire email (et donc sms), intègre avec quelques services de messagerie instantanée.
Je ne suis pas inquiet pour l'hébergement. Je vais l'exécuter sur un serveur local ou sur une instance Amazon.
J'ai vu une démo d'eux déclenchant une session cloud à partir d'une image, avec un agent pour le déploiement. Nous l'exécutons sur une boîte Linux typique, mais je sais que certaines personnes l'exécutent sur un serveur VMWare.
En outre, cela peut-être tarte dans le ciel, mais y at-il quelque chose qui peut aussi construire des applications IPhone?
Cela tomberait sous le premier, probablement.