14. prosince 2007

Hudson - děkuji, rád

V poslední době se mi zdá, že se více než kdy před tím řeší, který že build server je ten nejlepší. Možná je to jen můj subjektivní pohled nebo možná je to také tím, že čím dál tím více lidí má povědomí o "postupné integraci" (continuous integration) a znají nesporné výhody tohoto přístupu.

Hned na začátku říkám, že mám rád Hudson. Už to bude přibližně rok, kdy jsem vybíral buildovací server do naší firmy a při svém výběru jsem víceméně vycházel z nástrojů uvedených v tomto článku. Hned od začátku to byla "láska na první pohled":

  • velice jednoduchá instalace. Slovíčko instalace je přehnané, protože stačí pouze nahrát soubor hudson.war na aplikační server a už vše funguje. S tím je samozřejmě spojen i bezproblémový upgrade, což se zde celkem využije, protože skoro každý den vzniká nová verze.

  • velice jednoduchá konfigurace všeho potřebného. Konfigurace je intuitivní a přímo obsahuje nápovědu, takže není potřeba žádná dokumentace.

  • Hudson nabízí přesně to, co potřebujeme a nic navíc. Používáme Subversion, nemáme (zatím) žádné složité vazby mezi projekty, v každém buildu chceme mít přístup k JavaDoc dokumentaci, výsledkům testů a k informacím z konzole. Pro sledování výsledků buildů nám stačí RSS nebo Email. Pro ty, kdo používají něco jiného než Subversion nebo mají větší nároky na integraci nástrojů třetích stran, tak budou mít s Hudsonem asi problém.

  • S tou integrací nástrojů třetích stran už to také není tak špatné jako třeba před rokem. Úspěšně jsme teď zaintegrovali nástroje FindBugs a Cobertura. Ostatní nástroje pro detekci chyb či něčeho jiného (Checkstyle, PDM, JDepend) sice používáme, ale zatím bohužel bez přímé integrace s Hudsonem. Detailní výsledky máme možnost vidět pouze z výpisu konzole.




Teď si připadám jak na střední na konci referátu o knížce: Hudson se mi velice libíl a všem bych ho jen doporučil :).

Přehled dalších buildovacích serverů:

4 komentáře:

Novoj řekl(a)...

Do seznamu bych ještě přidal Team City (nedávno vyšla verze 3.0). Ten používáme my a jsme s ním také celkem spokojení. Jen ta integrace s Mavenem by mohla být trochu uzší. Jinak taky můžu doporučit.

Lukas řekl(a)...

Také jsme potřebovali Continuous Integration server jako sůl a při výběru jsem se nechal velmi ovlivnit tím, že Hudson používají kluci v Lucene. Proto jsem na Hudson upozornil, vyzkušeli jsme ho a je to paráda...

Roman Pichlík řekl(a)...

Delal jsem na projektech, kde se pouzival LuntBuild, proprietarni CI server a ted jsme ve stadiu, kdy testujeme Continuum a Team City. Z meho pohledu je u CI serveru podstatne, aby dokazal podporovat distribuovane buildy. To znamena poustet buildy na vice strojich.

NkD řekl(a)...

2Roman Pichlik: Coz by mel Hudson s prehledem splnovat.