2009-10-12 15 views
5

Mamy już dobry serwer kompilacji w Hudson, ale chcemy czegoś, co pozwoliłoby nam uruchamiać i wyłączać serwery, wypychać nowe wdrożenia oprogramowania (co jest o wiele bardziej zaangażowane niż tylko jedna wojna lub EAR gdzieś idzie, jest kopiowanie, wyodrębnianie, zmiana nazwy itp.) oraz różne inne zadania, które chcielibyśmy zautomatyzować.Czy istnieje dobre wdrożenie i administracja dla środowisk Java?

Spojrzałem na SmartFrog (wydaje się raczej akademicki niż powszechnie używany), ControlTier (dawka ciężkiej złożoności, która pasuje do twoich złożoności), Capistrano (skupia się na Ruby i Railsach) i Func (w ogóle brak dokumentów, ich MediaWiki zostało wyczyszczone). Czy nie ma nic, co byłoby dobrym rozwiązaniem 80/20 dla tego rodzaju rzeczy. Z pewnością można mieć narzędzie, które oferowałoby wiele możliwości, jakie oferuje ControlTier bez całego obciążenia.

Alternatywą są skrypty Ant do robienia wszystkiego (prawdopodobnie dostępne za pośrednictwem naszego istniejącego serwera Hudson) lub nawet wtyczka Hudsona, ale to jest dla mnie kludowe i po prostu nie podoba mi się to jako rozwiązanie (plus możemy przebudowywać coś, gdy nie musimy tego robić).

Proszę, powiedz mi o dobrej alternatywie.

Odpowiedz

1

Może chcesz wypróbować Cargo. Możesz użyć mrówki i mavenów do zdefiniowania definicji, a następnie ustawić Hudson tak, aby wskazywał na twój build.xml lub plik pom.xml twojej mrówki.

+0

Problem z Cargo polega na tym, że zazwyczaj po kilku ponownych uruchomieniach aplikacja nie powiedzie się z OutOfMemoryException (z powodu wycieku programów ładujących klasy). Bezpieczniejszą opcją byłoby ponowne uruchomienie całego serwera aplikacji podczas aktualizacji (wypróbuj LiveRebel, może zautomatyzować to za Ciebie). –

2

Używamy tylko Ubuntu i używamy pakietów Debiana do dystrybucji kompilacji na naszych serwerach i kontrolowania ich za pomocą skryptów init. Wspaniale jest także skonfigurować nowy serwer. Po prostu dodaj zależności do Java, MySql i cokolwiek potrzebujesz, a uruchomisz nowe wdrożenie w ciągu kilku sekund.

+0

To zgrabny pomysł i może zadziałać, jeśli nie pracowałem dla kogoś, kogo się zakochuje) (% * i #) AIX i SUSE Linux. Jeszcze raz dziękuję za te świetne wybory faceci ... –

1

Chef został wymieniony here, ale nie mam z tym doświadczenia.

+0

Miałem przeczucie, że też może być zbyt zorientowany na Ruby i Rails. Wrócę i spojrzę na to jeszcze raz. –

+0

Spojrzałem na to dalej i zdecydowanie go lubię, ponieważ nie jest tak skomplikowany jak ControlTier, ale jest bardzo skoncentrowany na Ruby i Railsach i wymagałby zainstalowania Ruby i Gems na każdym kroku, a ponadto nie wyjdzie poza -box z obsługą takich rzeczy, jak WebLogic lub Sybase (lub prawie żadne inne narzędzia zorientowane na Javę). –

1

Istnieje również Puppet, które należy sprawdzić. Być może trzeba czytać this wielką whitepaper na osiągnięcie w pełni zautomatyzowany provisioning

-Ken

1

LiveRebel może być odpowiednim narzędziem do tego zadania. Zapewnia interfejs API CLI, a także wtyczkę Hudson/Jenkins do automatyzacji.

Powiązane problemy