Hat da draußen jemand Erfahrung mit Hudson und Bamboo? Irgendwelche Gedanken zu den relativen Stärken und Schwächen dieser Produkte?
Okay, da die Leute immer wieder andere CI-Produkte erwähnen, werde ich dies weiter öffnen. Hier ist mein allgemeines Problem. Ich möchte ein CI-System für ein neues Projekt einrichten. Dieses Projekt wird wahrscheinlich Java-Komponenten (WARs und JARs), einige Python-Module und möglicherweise sogar eine .NET-Komponente enthalten. Ich möchte also einen CI-Server, der:
- Umgang mit mehreren Sprachen,
- Stellen Sie Artefakte auf Servern bereit (dh stellen Sie den Krieg bereit, wenn alle Komponententests bestanden wurden.)
- Ich möchte auch etwas, das in ein anständiges Tool zur Codeabdeckung integriert ist.
- Gut aussehende Berichte sind nett, aber nicht unbedingt erforderlich.
- Mehrere Benachrichtigungsmechanismen, wenn etwas schief geht.
- Ich mache mir keine Sorgen um das Hosting. Ich werde es entweder auf einem lokalen Server oder auf einer Amazon-Instanz ausführen.
- Auch das ist vielleicht ein Kinderspiel, aber gibt es etwas, das auch iPhone-Apps erstellen kann?
java
continuous-integration
hudson
bamboo
Karthik Ramachandran
quelle
quelle
Antworten:
Haftungsausschluss: Ich arbeite an Bamboo und werde daher keine Kommentare zu Funktionen anderer CI-Produkte abgeben, da meine Erfahrung mit diesen Produkten begrenzt ist.
Um Ihre spezifischen Anforderungen zu beantworten:
Bamboo unterstützt sofort mehrere Sprachen. Kunden verwenden es mit Java, .Net, PHP, JavaScript usw. Allerdings sind die meisten Build-Server generisch genug, um zumindest ein Skript auszuführen, das Ihren Build-Prozess starten kann.
Bamboo 2.7 unterstützt Build Stages, mit denen Sie Ihren Build in eine Unit Test-Phase und eine Deployment-Phase aufteilen können. Nur wenn die Unit-Test-Phase erfolgreich ist, wird der Build zur Bereitstellungsphase weitergeleitet. In Bamboo 3.0 unterstützen wir die gemeinsame Nutzung von Artefakten zwischen den Phasen, sodass Sie in der ersten Phase ein Artefakt (z. B. Ihren Krieg) erstellen und dieses Artefakt in den folgenden Phasen zum Testen und Bereitstellen verwenden können.
Bamboo bietet Unterstützung für Clover und ein Plugin für Cobertura .
Bamboo hat eine ganze Reihe von Berichten, die nett, aber nicht unbedingt notwendig sind :)
Bamboo kann Sie per E-Mail, RSS, IM, einem IDE-Plugin oder einem schönen Wallboard benachrichtigen, das für das gesamte Team sichtbar ist.
Erfahrungsgemäß ist es im Allgemeinen günstiger, einen eigenen CI-Server zu hosten. Wenn Sie jedoch skalieren müssen, können Sie mit Bamboo Ihre Builds ganz einfach an zusätzliche lokale Agenten verteilen oder über Elastic-Agenten auf Amazon skalieren.
Ähnlich wie bei der Antwort auf Ihre erste Frage können die meisten CI-Server iPhone-Apps auf verschiedene Weise erstellen. Es ist jedoch möglich, dass etwas mehr Skripte erforderlich sind.
Preis: Bambus ist nicht kostenlos (abgesehen von unserem kostenlos Starterlizenz ) / libre / open-source, aber Sie erhalten den Quellcode von Bamboo, wenn Sie eine kommerzielle Lizenz und vollen Support erwerben. Im Vergleich zu den Kosten für Rechenleistung und potenzieller Wartung, die für einen CI-Server erforderlich sind, sind die Kosten für eine Bamboo-Lizenz eher gering.
Hoffe das hilft.
quelle
Ich habe keinen Bambus verwendet, aber ich habe Hudson, Cruise und TFS verwendet, und von allen war Hudson zweifellos der Beste. Es ist lächerlich einfach einzurichten und hat eine wirklich schöne Web-GUI für die Projektkonfiguration. Das Tolle an Hudson ist, dass es so ziemlich jede Sprache und Funktion unterstützt, die Sie sich wünschen können, vorausgesetzt, jemand hat ein Plug-In dafür geschrieben, das er wahrscheinlich hat.
http://wiki.hudson-ci.org/display/HUDSON/Plugins
Wir haben es verwendet, um .NET-, Java- und C ++ - Builds in zeitlichen Intervallen sowie SVN-Checkins mit automatisierten Test-Harnesses auszuführen, und es war großartig. Der Ort, an dem ich zuletzt gearbeitet habe, hat kurz vor meiner Abreise mit der iPhone-Entwicklung begonnen, und ich glaube, sie haben Hudson auch dafür verwendet.
Plus es ist kostenlos!
quelle
Bamboo vs Hudson scheint auf einer sehr oberflächlichen Ebene auf Folgendes zurückzuführen zu sein:
Sowohl Bamboo als auch Jenkins haben zahlreiche Fehler (Sie werden auf Probleme stoßen), aber zumindest bei Jenkins ist es viel wahrscheinlicher, dass Sie eine Problemumgehung haben, bis diese behoben ist. Mit Bamboo warten Sie auf ein Update.
quelle
Haftungsausschluss: Ich arbeite mit Jenkins.
In unserer Organisation (ziemlich groß, mehr als 100 Entwickler) fanden wir auch diese beiden Funktionen sehr nützlich:
Zu Ihren Fragen:
quelle
Nun, ich habe Bamboo bisher noch nicht verwendet, aber ein Unterschied ist, dass Hudson freie / libre / Open-Source-Software ist.
quelle
Wenn Sie bereit sind, dafür zu bezahlen, macht Anthill all diese Dinge, die Sie sich ansehen. Wir verwenden es in meiner Firma für unser Webteam und es ist ziemlich mächtig.
Standardmäßig werden Ihre vorhandenen Skripte automatisiert und die von ihnen erzeugten Artefakte unabhängig von der Sprache verwaltet.
Die Bereitstellung kann als Schritt in Ihrem Erstellungsprozess hinzugefügt werden. Ich bin mir nicht sicher, ob Sie direkt in der Produktion bereitstellen möchten, aber Sie könnten es sicherlich, wenn das Management dies vorschreibt.
Sie lassen sich sofort in Clover, Cobertura, Emma, Checkstyle, CodeSonar, Coverity, FindBugs, Fortify, Klocwork, PMD und Sonar integrieren.
Ich bin nicht sicher, welche Berichte verfügbar sind, aber es gibt eine Registerkarte "Berichte" (ich gehe dort nicht hinein :-))
Ich weiß, dass es E-Mail (und damit SMS) kann, integriert mit ein paar IM-Diensten.
Ich habe eine Demo von ihnen gesehen, die eine Cloud-Sitzung aus einem Image mit einem Agenten für die Bereitstellung gestartet hat. Wir führen es auf einer typischen Linux-Box aus, aber ich weiß, dass einige Leute es auf einem VMWare-Server ausführen.
Dies würde wahrscheinlich unter den ersten fallen.
quelle