Około godziny zajęło mi opracowanie Hudson, który niedawno się rozgałęził (styczeń / 2011)
Nie mam pojęcia, jak szybka jest zmiana każdej gałęzi, ale co ważniejsze, w jakim kierunku zmierza każda gałąź i jakie są kluczowe punktów, aby można było wybrać, z którym wybrać?
Czy ktoś ma linki do mapy produktów i różnic funkcji?
continuous-integration
hudson
jenkins
Greg Domjan
źródło
źródło
Odpowiedzi:
Użyj Jenkinsa .
Jenkins jest najnowszym widelcem głównych twórców gry Hudson. Aby zrozumieć dlaczego, musisz poznać historię projektu. To był pierwotnie open source i obsługiwany przez Sun. Podobnie jak większość tego, co zrobił Słońce, było dość otwarte, ale było trochę łagodnego zaniedbania. Źródło, moduły śledzące, strona internetowa itp. Były hostowane przez Sun na ich stosunkowo zamkniętej platformie java.net.
Następnie Oracle kupił Sun. Z różnych powodów Oracle nie wstydzi się wykorzystywać tego, co postrzega jako swoje aktywa. Obejmują one pewną kontrolę nad platformą logistyczną Hudson, a zwłaszcza kontrolę nad nazwą Hudson. Wielu użytkowników i współpracowników nie było z tym dobrze i zdecydowało się odejść.
Wszystko sprowadza się do tego, co oferuje Hudson vs Jenkins. Zarówno Hudson Oracle, jak i Jenkins mają kod. Hudson ma wsparcie korporacyjne Oracle i Sonatype oraz markę. Jenkins ma większość głównych programistów, społeczność i (jak dotąd) znacznie bardziej aktualną pracę.
Czytałem, że pisać I związał się szczyt, a następnie odczytać resztę ich w chronologicznym porządku . Dla równowagi można przeczytać Hudson / Oracle wziąć na nią . Dla mnie jasne jest, kto gra w defensywie i kto ma prawdziwe zamiary w tym projekcie.
źródło
Jak napisał chmullig , użyj Jenkinsa . Niektóre dodatkowe punkty:
W rzeczywistości prawdopodobnie rozwidlenie wykonała Oracle ! I technicznie też tak się stało .
Ciekawe jest jednak to, co wychodzi z „Hudsona”. Chociaż „Winston podsumowuje stan i różową przyszłość projektu Hudson” , które opublikowali na (nowej) stronie internetowej Hudson, początkowo wydawało mi się to dziwnym humorem, być może było to celowe przejęcie, a chłopaki z Sonatype mają naprawdę wielkie pomysły ich rękaw. Ta analiza sugerująca celową strategię Oracle / Sonatype polegającą na usunięciu Kohsuke i załogi w celu stworzenia bardziej „przedsiębiorczego” Hudsona jest bardzo interesującą lekturą!
W każdym razie to krótkie porównanie dwa tygodnie po podziale - choć nie do końca naukowe - pokazuje, że Jenkins jest zdecydowanie bardziej aktywny w tych dwóch projektach.
... i trochę podstawowych informacji:
Twórca Hudsona, Kohsuke Kawaguchi , rozpoczął projekt w wolnym czasie, nawet jeśli pracował dla Sun Microsystems, a później opłacił go za dalszy rozwój. Jak zauważył @erickson w innym pytaniu SO ,
Po przejęciu przez Oracle Kohsuke nie kręcił się długo (z powodu braku monitorów ...?; -] ) i zaczął pracować dla CloudBees . To, co zaczęło się pod koniec 2010 roku jako konflikt między narzędziami między społecznością deweloperów a Oracle, a zakończyło się na zmianę nazwy / fork / split, jest dobrze udokumentowane w podanych linkach chmullig. Dla mnie ta cała zagadka mówi, być może bardziej niż cokolwiek innego, o całkowitej niezdolności lub niechęci Oracle do sponsorowania projektu typu open source w sposób, który zadowoli wszystkie strony (Oracle, programiści, użytkownicy). Nie ma ich w DNA ani czymś takim, jak widzieliśmy w innych przypadkach .
Biorąc powyższe pod uwagę, osobiście podążę za Kohsuke i innymi głównymi programistami w tej kwestii i pójdę z Jenkins.
źródło
Tylko moje zdanie na ten temat, trzy miesiące później:
Jenkins kontynuował ścieżkę dobrze zdeptaną przez oryginalnego Hudsona, z częstymi wydaniami, w tym wieloma drobnymi aktualizacjami.
Wydaje się, że Oracle w dużej mierze przekazało prace nad przyszłą ścieżką dla Hudsona zespołowi Sonatype, który dokonał pewnych znaczących zmian, szczególnie w odniesieniu do Maven. Wspólnie przenieśli go do fundacji Eclipse.
Sugerowałbym, że jeśli lubisz dźwięk:
, wtedy zasugerowałbym Hudsona.
I odwrotnie, jeśli wolisz:
wtedy zasugerowałbym Jenkinsa. (i jak zauważył komentator, Jenkins ma teraz również wersje „LTS”, które są utrzymywane w bardziej „stabilnej” gałęzi)
Konserwatywnym kursem byłoby wybranie Hudsona teraz i migracja do Jenkins, jeśli niezbędne funkcje są niedostępne. Kurs dynamiczny polegałby na tym, aby teraz wybrać Jenkinsa i przeprowadzić migrację do Hudson, jeśli ściganie aktualizacji staje się zbyt czasochłonne, aby uzasadnić.
źródło
Z góry .. Jestem komisarzem Hudson i autorem książki Hudson, ale nie byłem zaangażowany w cały podział projektów.
W każdym razie oto moja rada:
Sprawdź oba i zobacz, co lepiej odpowiada Twoim potrzebom.
Hudson dokończy migrację, aby stać się projektami Eclipse na najwyższym poziomie pod koniec tego roku i zebrał całą grupę pełnoetatowych programistów, QA i innych pracujących nad projektem. Wciąż ma się dobrze i ma wielu użytkowników, a ponieważ jest domyślnym serwerem CI w Eclipse, nadal będzie spełniał potrzeby wielu programistów Java. Patrząc na mapę drogową i plany na przyszłość, można zauważyć, że po integracji Maven 3 z wydaniem 2.1.0 czeka na nas cała masa innych interesujących funkcji.
http://www.eclipse.org/hudson
Z drugiej strony Jenkins zdobył wielu oryginalnych użytkowników Hudson i ma dużą społeczność użytkowników w wielu technologiach, a także pracuje nad tym cała grupa programistów.
Na tym etapie oba serwery CI są świetnymi narzędziami do użycia, a w zależności od potrzeb pod względem technologii integracja z jednym lub drugim może być lepsza. Oba produkty są dostępne jako oprogramowanie typu open source, a dla obu możesz uzyskać wsparcie handlowe od różnych firm.
W każdym razie ... jeśli jeszcze nie korzystasz z serwera CI ... zacznij teraz od jednego z nich, a zobaczysz ogromne korzyści.
Aktualizacja styczeń 2013: po długim procesie czyszczenia IP i dalszych udoskonaleniach Hudson 3.0 jako pierwsza zatwierdzona wersja Eclipse Foundation jest już dostępna.
źródło
Jenkins jest nowym Hudsonem. To naprawdę jest bardziej jak zmiana nazwy, a nie rozwidlenie, ponieważ cała społeczność programistów przeniosła się do Jenkins. (Oracle zostaje w kącie, trzymając swoją starą piłkę „Hudson”, ale teraz jest to projekt bez duszy).
Cf Ethereal -> WireShark
źródło
Mam dwa punkty do dodania. Po pierwsze, w Hudson / Jenkins chodzi o wtyczki. Programiści wtyczek przenieśli się do Jenkins, podobnie jak my, użytkownicy. Po drugie, osobiście nie jestem wielkim fanem produktów Oracle. W rzeczywistości unikam ich jak zarazy. Za pieniądze wydane na licencje i sprzęt dla rozwiązania Oracle możesz wynająć dwa razy kadrę inżynieryjną, a nadal masz trochę do kupienia piwa w każdy piątek :)
źródło
Dla tych, którzy wymienili pojednanie jako potencjalną przyszłość dla Hudsona i Jenkinsa, a fakt, że Jenkins dołączy do SPI , jest mało prawdopodobne, aby w tym momencie się pogodzili.
źródło
Na stronie internetowej Jenkins, http://jenkins-ci.org , podsumowano to poniżej.
Oracle jest teraz właścicielem znaku towarowego Hudson, ale uzyskał licencję na podstawie Eclipse EPL . Jenkins jest na licencji MIT . Zarówno Hudson, jak i Jenkins są oprogramowaniem typu open source. Na podstawie połączenia tego, dla kogo pracujesz i osobistych preferencji dla oprogramowania typu open source, decyzja jest prosta.
Mam nadzieję, że to było pomocne.
źródło