web-dev-qa-db-fra.com

Bamboo Vs. Hudson (A. Jenkins) vs Tout autre système de CI

Quelqu'un at-il une expérience avec Hudson et Bamboo? Avez-vous des idées sur les forces et les faiblesses relatives de ces produits?

D'accord, puisque les gens ne cessent de mentionner d'autres produits CI, je vais ouvrir cela plus loin. Voici mon problème général. Je veux installer un système de CI pour un nouveau projet. Ce projet comportera probablement Java composants (WAR et JAR)), certains python et éventuellement un composant .NET. Je souhaite donc un serveur de CI qui pouvez:

  1. Gérer plusieurs langues,
  2. Déployer des artefacts sur des serveurs (c'est-à-dire déployer la guerre si tous les tests d'unité réussissent.)
  3. Je voudrais aussi quelque chose qui intègre avec un outil de couverture de code décent.
  4. De bons rapports sont gentils, mais pas essentiels.
  5. Plusieurs mécanismes de notification en cas de problème.
  6. Je ne suis pas inquiet pour l'hébergement. Je vais soit l'exécuter sur un serveur local ou sur une instance Amazon.
  7. Aussi, cela peut-être tarte dans le ciel, mais y at-il quelque chose qui peut également créer des applications iPhone?
119

Avertissement: Je travaille sur Bamboo et par conséquent, je ne vais pas commenter les fonctionnalités des autres produits CI, car mon expérience avec eux est limitée.

Pour répondre à vos besoins spécifiques:

Gérer plusieurs langues

Bamboo prend en charge plusieurs langues. Les clients l'utilisent avec Java, .Net, PHP, JavaScript, etc. Cela étant dit, la plupart des serveurs de génération sont suffisamment génériques pour au moins exécuter un script capable de lancer votre processus de construction.

Déployer des artefacts sur des serveurs (c'est-à-dire déployer la guerre si tous les tests d'unité réussissent.)

Bamboo 2.7 prend en charge les étapes de construction, qui vous permettent de diviser votre construction en une étape de test d'unité et une étape de déploiement. Ce n'est que si la phase de test d'unité réussit que la construction passe à la phase de déploiement. Dans Bamboo 3. , nous prendrons en charge le partage d’artefacts entre les étapes, ce qui vous permettra de créer un artefact (par exemple, votre guerre) dans la première étape et d’utiliser cet artefact lors des étapes suivantes pour le tester et le déployer.

Je voudrais aussi quelque chose qui intègre avec 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 .

De bons rapports sont gentils, mais pas essentiels.

Le bambou a un tout un tas de rapports qui sont gentils, mais pas essentiels :)

Plusieurs mécanismes de notification en cas de problème.

Bamboo peut vous avertir par courrier électronique, RSS, messagerie instantanée, un plugin IDE) ou un panneau mural Nice visible par toute l'équipe.

Je ne suis pas inquiet pour l'hébergement. Je vais soit l'exécuter sur un serveur local ou sur une instance Amazon.

Par expérience, il est généralement moins coûteux d’héberger votre propre serveur CI. Mais si vous avez besoin de passer à l’échelle, Bamboo facilite la distribution de vos versions à d’autres agents locaux ou la montée en charge sur Amazon via des agents Elastic.

Aussi, cela peut-être tourte dans le ciel, mais y at-il quelque chose qui peut également créer des applications pour iPhone?

Semblable à la réponse à votre première question, la plupart des serveurs CI seront capables de créer des applications iPhone d'une certaine manière. Cependant, il est possible qu'un peu plus de script soit requis.

Prix: Le bambou n’est pas gratuit (à part notre libre licence de démarrage )/libre/open-source, mais vous obtiendrez Le code source de Bamboo si vous achetez une licence commerciale et une assistance complète. 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 t'aides.

50
jens

Je n'ai pas utilisé Bamboo, mais j'ai utilisé Hudson, Cruise et TFS et parmi eux, Hudson était sans conteste le meilleur. Il est ridiculement facile à installer et possède une interface graphique Web vraiment agréable pour la configuration de projet. Ce qui est génial à propos de Hudson, c’est qu’il prend en charge pratiquement tous les langages et fonctionnalités que vous pourriez souhaiter, à condition que quelqu'un ait écrit un plug-in, 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'appuient sur des intervalles chronométrés, ainsi que des archivages SVN avec des faisceaux de test automatisés et c'était génial. avant de partir et je crois qu'ils utilisaient Hudson pour cela aussi.

De plus c'est gratuit!

39
Steve Whitfield

Bamboo vs Hudson, à un niveau très superficiel, semble se résumer à:

  • Bamboo: facile à utiliser et beau
  • Jenkins: rugueux sur les bords, mais beaucoup plus souple que le bambou

Bamboo et Jenkins ont tous deux de nombreux bugs (vous == (vous rencontrez des problèmes = = @ @ )), mais au moins avec Jenkins, vous avez beaucoup plus de chances d'avoir une solution de contournement jusqu'à ce qu'elle soit corrigée. Avec Bamboo, vous êtes bloqué dans l'attente d'une mise à jour.

35
Gili

Disclaimer: Je travaille avec Jenkins.

Dans notre organisation (assez grosse, plus de 100 développeurs), nous avons également trouvé ces deux fonctionnalités très utiles:

  1. Plugin CAS avec stratégie de sécurité de projet matriciel
  2. Créer un plugin de pipeline
  3. Calendrier de publication de LTS.

A propos de vos questions:

  1. D'accord
  2. SCP PLUGIN ou SSH PLUGIN
  3. Nous utilisons FINDBUGS, plug-in de collecteur d’analyse statique, plug-ins d’analyse de code statique, plug-in de scanner de tâches
  4. Précédent au point 3 + plugin Jenkins DocLinks
  5. Nous utilisons le courrier électronique Jenkins Email Extension Plugin, mais il prend également en charge d'autres systèmes, tels que RSS, Twitter Publier, SMS ...
  6. Nous courons dans un hébergement Tomcat, localement.
  7. Oui.
16

Bien, je n'ai pas utilisé Bamboo jusqu'à présent, mais une différence est que Hudson est un logiciel libre/libre/open-source.

5
Puce

Si vous êtes prêt à payer pour cela, Anthill fait tout ce que vous regardez. Nous l'utilisons dans mon entreprise pour notre équipe Web, et c'est assez puissant.

Gérer plusieurs langues

En usine, il automatise vos scripts existants et gère les artefacts qu’ils produisent, quelle que soit la langue.

Déployer des artefacts sur des serveurs (c'est-à-dire déployer la guerre si tous les tests d'unité réussissent.)

Le déploiement peut être ajouté en tant qu'étape de votre processus de construction. Je ne suis pas sûr que vous souhaitiez passer directement à la production, mais vous le pourrez certainement si la direction vous y oblige.

Je voudrais aussi quelque chose qui intègre avec un outil de couverture de code décent.

Ils s'intègrent avec Clover, Cobertura, Emma, ​​Checkstyle, CodeSonar, Coverity, FindBugs, Fortify, Klocwork, PMD et Sonar.

De bons rapports sont gentils, mais pas essentiels.

Je ne suis pas sûr des rapports disponibles, mais il y a un onglet Rapports (je n'y vais pas :-))

Plusieurs mécanismes de notification en cas de problème.

Je sais qu'il peut faire du courrier électronique (et donc des sms), s'intègre à quelques services de messagerie instantanée.

Je ne suis pas inquiet pour l'hébergement. Je vais soit l'exécuter sur un serveur local ou sur une instance Amazon.

J'ai vu une démo d'entre eux déclencher une session cloud à partir d'une image, avec un agent pour le déploiement. Nous l'exécutons sur une machine Linux typique, mais je sais que certaines personnes l'exécutent sur un serveur VMWare.

Aussi, cela peut-être tourte dans le ciel, mais y at-il quelque chose qui peut également créer des applications pour iPhone?

Cela tomberait probablement sous le premier.

1
corsiKa