Czy ktoś ma doświadczenie z Hudsonem i Bamboo? Jakieś przemyślenia na temat względnych mocnych i słabych stron tych produktów?
W porządku, ponieważ ludzie wciąż wspominają o innych produktach CI, otworzę to dalej. Oto mój ogólny problem. Chcę skonfigurować system CI do nowego projektu. Ten projekt prawdopodobnie będzie zawierał komponenty Java (WAR i JAR), niektóre moduły Pythona, a być może nawet komponent .NET. Dlatego potrzebuję serwera CI, który może:
- Obsługa wielu języków,
- Wdrażaj artefakty na serwerach (tj. Wdrażaj wojnę, jeśli wszystkie testy jednostkowe przejdą pomyślnie).
- Chciałbym też coś zintegrowanego z przyzwoitym narzędziem do pokrycia kodu.
- Dobrze wyglądające raporty są ładne, ale nie niezbędne.
- Wiele mechanizmów powiadomień, gdy coś pójdzie nie tak.
- Nie martwię się o hosting. Uruchomię go na serwerze lokalnym lub na instancji Amazon.
- A może to ciasto na niebie, ale czy jest coś, co może również tworzyć aplikacje na iPhone'a?
java
continuous-integration
hudson
bamboo
Karthik Ramachandran
źródło
źródło
Odpowiedzi:
Zastrzeżenie: pracuję nad Bamboo i dlatego nie zamierzam komentować funkcji innych produktów CI, ponieważ moje doświadczenie z nimi jest ograniczone.
Aby odpowiedzieć na Twoje specyficzne wymagania:
Bamboo od razu obsługuje wiele języków. Klienci używają go z Javą, .Net, PHP, JavaScriptem itp. Biorąc to pod uwagę, większość serwerów kompilacji jest wystarczająco ogólna, aby przynajmniej wykonać skrypt, który może rozpocząć proces kompilacji.
Bamboo 2.7 obsługuje etapy kompilacji, które umożliwiają podzielenie kompilacji na etap testów jednostkowych i etap wdrażania. Tylko jeśli etap testów jednostkowych powiedzie się, kompilacja przejdzie do etapu wdrażania. W Bamboo 3.0 będziemy wspierać współdzielenie artefaktów pomiędzy etapami, co pozwoli ci stworzyć Artefakt (np. Twoją wojnę) w pierwszym etapie i używać tego Artefaktu w kolejnych etapach do testowania i wdrażania.
Bamboo obsługuje Clover, a także ma dostępną wtyczkę dla Cobertury .
Bamboo ma całą masę raportów, które są ładne, ale nie niezbędne :)
Bamboo może powiadamiać Cię przez e-mail, RSS, komunikator, wtyczkę IDE lub ładną tablicę, która jest widoczna dla całego zespołu.
Z doświadczenia wynika, że hostowanie własnego serwera CI jest generalnie tańsze. Ale jeśli potrzebujesz skalować, Bamboo ułatwia dystrybucję twoich kompilacji do dodatkowych lokalnych agentów lub skalowanie do Amazon za pośrednictwem agentów Elastic.
Podobnie jak w przypadku odpowiedzi na pierwsze pytanie, większość serwerów CI będzie w stanie w pewien sposób tworzyć aplikacje na iPhone'a. Możliwe, że wymagane jest jednak trochę więcej skryptów.
Cena: Bamboo nie jest darmowy (poza naszą darmową licencją startową ) / libre / open-source, ale otrzymasz kod źródłowy Bamboo, jeśli kupisz licencję komercyjną i pełne wsparcie. W porównaniu z kosztem mocy obliczeniowej i potencjalną konserwacją wymaganą dla serwera CI, koszt licencji Bamboo jest raczej niewielki.
Mam nadzieję że to pomoże.
źródło
Nie używałem Bamboo, ale używałem Hudson, Cruise i TFS, a spośród nich Hudson był najlepszy. Jest śmiesznie łatwy w konfiguracji i ma naprawdę fajny interfejs graficzny do konfiguracji projektu. Wspaniałe w Hudsonie jest to, że obsługuje prawie każdy język i funkcję, której możesz potrzebować, zakładając, że ktoś napisał dla niego wtyczkę, którą prawdopodobnie ma.
http://wiki.hudson-ci.org/display/HUDSON/Plugins
Użyliśmy go do uruchamiania kompilacji .NET, Java i C ++ w określonych odstępach czasu, a także sprawdzania SVN z automatycznymi wiązkami testowymi i było świetnie. Miejsce, w którym ostatnio pracowałem, rozpoczęło rozwój iPhone'a tuż przed wyjazdem i wydaje mi się, że używali do tego również Hudsona.
Dodatkowo to nic nie kosztuje!
źródło
Bamboo vs Hudson, na bardzo powierzchownym poziomie, wydaje się sprowadzać do:
Zarówno Bamboo i Jenkins mają liczne błędy (trzeba będzie napotkasz problemy), ale przynajmniej z Jenkins są o wiele bardziej narażone na obejście dopóki nie zostanie naprawiony. Z Bamboo utkniesz w oczekiwaniu na aktualizację.
źródło
Zastrzeżenie: pracuję z Jenkinsem.
W naszej organizacji (dość dużej, ponad 100 programistów) bardzo przydały się te dwie funkcje:
O twoich pytaniach:
źródło
Cóż, do tej pory nie korzystałem z Bamboo, ale jedną różnicą jest to, że Hudson jest oprogramowaniem darmowym / libre / open source.
źródło
Jeśli jesteś gotów za to zapłacić, Anthill zrobi wszystko, na co patrzysz. Używamy go w mojej firmie dla naszego zespołu internetowego i jest dość potężny.
Po wyjęciu z pudełka automatyzuje istniejące skrypty i zarządza tworzonymi przez nie artefaktami bez względu na język.
Wdrożenie można dodać jako krok w procesie kompilacji. Nie jestem pewien, czy chcesz wdrożyć bezpośrednio do produkcji, ale z pewnością możesz, jeśli kierownictwo powie, że musisz.
Integrują się po wyjęciu z pudełka z Clover, Cobertura, Emma, Checkstyle, CodeSonar, Coverity, FindBugs, Fortify, Klocwork, PMD i Sonar.
Nie jestem pewien, jakie raporty są dostępne, ale jest zakładka raportów (nie wchodzę tam :-))
Wiem, że może robić e-maile (a tym samym sms), integruje się z kilkoma usługami komunikatorów.
Widziałem ich demo uruchamiające sesję chmury z obrazu, wraz z agentem do wdrożenia. Uruchamiamy go na typowym Linuksie, ale wiem, że niektórzy ludzie uruchamiają go na serwerze VMWare.
Prawdopodobnie należałoby to do pierwszego.
źródło