Jaka jest różnica między Hudson i CruiseControl dla projektów Java?
Myślę, że tytuł to podsumowuje. Chcę tylko wiedzieć, dlaczego jeden lub drugi jest lepszy dla ciągłej integracji projektów Java Z Svn.
8 answers
Jako od dawna CruiseControl committer i ktoś, kto nigdy nie korzystał z Hudsona jestem dość stronniczy, ale moim zdaniem jest to:
Hudson jest o wiele łatwiejszy do uruchomienia (w dużej części z ładnego interfejsu internetowego) i ma bardzo aktywną społeczność programistów wtyczek.
CruiseControl ma wsparcie z wielu rzeczy 3rd party i ma tę zaletę, że robi kilka fajnych sztuczek z konfiguracją XML, takich jak konfiguracja wstępna wtyczki i include.projekty, które pozwalają Wersja informacji konfiguracyjnych z projektu.
Jeśli masz tylko kilka buildów, myślę, że Hudson jest zdecydowanym zwycięzcą. Jeśli masz zamiar mieć dużo-i nie przeszkadza xml-to myślę, że triki konfiguracyjne XML CruiseControl stają się prawdziwą siłą.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-03 07:41:21
Zgadzam się z Ta odpowiedź, ale chciałem dodać kilka punktów.
W skrócie, Hudson (update: Jenkins) to chyba lepszy wybór. Przede wszystkim dlatego, że tworzenie i konfigurowanie zadań ("projektów" w słowniku CC) jest po prostu o wiele szybsze poprzez Web UI Hudsona, w porównaniu do edycji pliku konfiguracyjnego XML CruiseControl (którego używaliśmy do kontroli wersji, aby lepiej śledzić). Ten ostatni nie jest szczególnie trudne - po prostu jest wolniejsze i bardziej żmudne.
CruiseControl był świetny, ale jak zauważono w trafnie nazwanym wpisie na blogu dana Dyera, dlaczego nadal nie korzystasz z Hudsona?, cierpi z powodu bycia pierwszym. (Um, jak w Wielkiej Brytanii, jeśli wolisz, później w rewolucji przemysłowej, kiedy inni zaczęli wyprzedzać ją z nowszymi technologiami.)
Używaliśmy CruiseControl mocno i stopniowo przestawialiśmy się na Hudson, w końcu używając go wyłącznie. I nawet więcej mocno: w tym procesie zaczęliśmy używać serwera CI do wielu innych rzeczy niż wcześniej, ponieważ konfigurowanie i zarządzanie zadaniami Hudson jest tak przydatne. (Mamy teraz około 40+ zadań w Hudson: zwykłe zadania build & test dla gałęzi stabilnych i deweloperskich; zadania związane z wydawaniem (instalatory budynków itp.); zadania, które uruchamiają niektóre (eksperymentalne) metryki na podstawie kodu; te, które uruchamiają (wolno) interfejs użytkownika lub testy integracyjne z określoną wersją bazy danych; i tak dalej.)
Z tego doświadczenie twierdziłbym, że nawet jeśli masz wiele buildów, w tym skomplikowanych, Hudson jest dość bezpiecznym wyborem, ponieważ, podobnie jak CC, możesz go użyć do zrobienia wszystkiego, W zasadzie. Po prostu skonfiguruj swoje zadanie tak, aby uruchamiało dowolne cele Ant lub Maven, skrypty powłoki Unix lub Windows .Skrypty nietoperzy, w kolejności, w jakiej sobie życzysz.
Co do 3rd party stuff (wspomniany tutaj przez Jeffreya Fredricka) - to słuszna uwaga, ale mam wrażenie, że Hudson szybko nadrabia zaległości i że istnieje już bardzo duża liczba wtyczek do niego.
Dla mnie dwie rzeczy, których brakuje mi w CruiseControl to:
-
[37]}jego ostrzegawcze e-maile o zepsutych konstrukcjach były bardziej pouczające niż wiadomości Hudsona. W większości przypadków główna przyczyna była widoczna z ładnie sformatowanej poczty HTML CC, podczas gdy w przypadku Hudson Zwykle muszę kliknąć link do Hudson web UI i trochę kliknąć, aby uzyskać szczegóły.
- The CruiseControl dashboard jest lepiej dopasowany, po wyjęciu z pudełka, jako " information radiator " (wyświetlany na monitorze publicznym lub wyświetlany na ścianie, dzięki czemu zawsze można szybko zobaczyć status wszystkich projektów). Z pierwszej strony Hudsona, potrzebowaliśmy kilka sztuczek Greasemonkey, aby uzyskać rzędy pracy ładnie zielone / czerwone.
Minor disclaimer: nie śledziłem dokładnie projektu CC przez ostatni rok. (Ale z szybkiego spojrzenia , nie zmieniło się to w żadnym dramatyczny sposób.)
W 2011 roku Hudson został przemianowany na Jenkins (twórca Hudson Kohsuke Kawaguchi i inni). Wygląda na to, że Oracle-która kontroluje nazwę Hudson-również będzie trzymać "Hudson", ale moja osobista rekomendacja to iść z Jenkins, bez względu na to, co mówi Oracle.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:53:23
Mój ostatni projekt, zaczęliśmy od CruiseControl. Co wstrząsnęło. Potem przenieśliśmy się do Hudson, co wstrząsnęło jeszcze bardziej. Rzeczy, które lubiłem w Hudsonie:
Projekty upstream i downstream. Tak więc commit do kodu dostępu do danych ostatecznie uruchomi również kompilację warstwy prezentacji.
Łatwo wykorzystaj istniejący projekt jako punkt wyjścia nowego-więc jeśli masz w zwyczaju tworzyć gałęzie rozwoju, upewnij się, że są one pod ciągła integracja to pestka.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-02 22:55:15
Jedna różnica polega na tym, że Hudson jest wytworem jednego genialnego intelektu-Kohsuke Kawaguchi. Dzięki temu jest spójny, spójny i solidny. Minusem może być pewne ograniczenie tempa postępu. Jednak Kohsuke jest niezwykle płodny, więc nie martwiłbym się o to zbytnio. I jest rozszerzalny, więc jeśli jest coś, na co Kohsuke nie ma czasu( lub nie chce), prawdopodobnie możesz to zrobić sam.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-02 22:46:11
Spojrzałem na Tempomat i Hudson, ale wybierz Hudson, ponieważ było znacznie łatwiejsze w konfiguracji i konfiguracji. Hudson wydaje się obecnie bardzo szeroko stosowany z regularnymi wydaniami i wieloma rozszerzeniami za pomocą wtyczek. Gorąco polecam.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-02 23:08:40
Hudson jest bardziej przyjazną dla użytkownika alternatywą moim zdaniem. Można go skonfigurować i utrzymywać całkowicie za pośrednictwem interfejsu internetowego (oczywiście poza początkową instalacją aplikacji webapp).
O CruiseControl można to powiedzieć tylko wtedy, gdy liczy się wbudowany edytor plików XML.
Mimo to, po użyciu obu, i tak wolę każdy z nich niż bez zautomatyzowanej budowy.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-02 23:07:01
Próbowałem tempomatu...To dobrze...Ale dokumenty są rozdrobnione. Deska rozdzielcza jest myląca. Tworzenie widżetów jest również mylące. Nigdy nie próbowałem Hudsona. Spróbujemy w weekend.
Ostatnio ustawiłem Jenkinsa do budowy projektów Borland BDS 2006 wykorzystujących Subversion i jestem z tego bardzo zadowolony. Nigdy nie używałem CruiseControl jeszcze, więc nie mogę porównać. Przeczytaj mój wpis na blogu, aby uzyskać więcej informacji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-18 22:20:07