2009-10-12 9 views
5

Abbiamo già un buon server di build in Hudson ma vogliamo qualcosa che ci permetta di avviare e spegnere i server, lanciare nuove distribuzioni di software (che è molto più complicato di un singolo WAR o EAR che va da qualche parte, c'è copia, estrazione, rinomina, ecc.) e vari altri compiti che vorremmo automatizzare.Esiste una buona distribuzione e amministrazione per gli ambienti Java?

Ho guardato SmartFrog (sembra in gran parte accademico piuttosto che comunemente usato), ControlTier (una dose di complessità pesante per andare con la tua complessità), Capistrano (Ruby e Rails focalizzati) e Func (niente documenti, il loro MediaWiki è stato cancellato). Non c'è niente che sia una buona soluzione 80/20 per questo genere di cose. Sicuramente potresti avere uno strumento che offra molto di ciò che ControlTier offre senza tutti i costi.

L'alternativa è rappresentata dagli script Ant per fare tutto (possibilmente disponibile tramite il nostro server Hudson esistente) o anche un plugin Hudson di qualche tipo, ma questo mi sembra incredibile e non mi piace solo come soluzione (in più potremmo ricostruire qualcosa quando non è necessario).

Per favore, parlami di una buona alternativa.

risposta

1

Si consiglia di provare Cargo. Puoi usare ant e maven per la definizione di distribuzione che desideri e quindi impostare Hudson in modo che punti a build.xml della tua formica o pom.xml di maven.

+0

Il problema con Cargo è che di solito dopo un paio di redeploys, la tua applicazione fallirà con OutOfMemoryException (a causa della perdita di classloader). L'opzione più sicura sarebbe quella di riavviare l'intero server delle applicazioni durante l'aggiornamento (prova LiveRebel, può automatizzarlo per te). –

2

Utilizziamo solo Ubuntu e utilizziamo i pacchetti Debian per distribuire build sui nostri server e controllarli con gli script di init. È anche fantastico impostare un nuovo server. Basta aggiungere dipendenze a Java, MySql e tutto ciò di cui hai bisogno e sarai in grado di eseguire una nuova distribuzione in pochi secondi.

+0

Questa è un'idea chiara e potrebbe funzionare se non avessi lavorato per qualcuno innamorato) (% * & #) AIX e SUSE Linux. Grazie ancora per quelle scelte eccellenti ragazzi ... –

1

Chef è stato menzionato here ma non ho esperienza con esso.

+0

Ho avuto la sensazione che anche troppo potrebbe essere troppo orientato verso Ruby e Rails. Tornerò e gli darò un'altra occhiata. –

+0

L'ho guardato oltre e sicuramente mi piace per non essere complicato come ControlTier ma è molto centrato su Ruby e Rails e richiederebbe Ruby e Gems installati ovunque per funzionare, in più non uscirà -box con supporto per cose come WebLogic o Sybase (o quasi nessun altro strumento orientato a Java). –

1

C'è anche Puppet che è necessario controllare. Potrebbe essere necessario leggere this grande whitepaper sul raggiungimento di provisioning completamente automatizzato

-Ken

1

LiveRebel potrebbe essere uno strumento adatto a questo compito. Fornisce CLI API e anche un plugin Hudson/Jenkins per l'automazione

Problemi correlati