Integrazione continua con Apache Continuum

Attualmente sto dietro ad un progetto realizzato in java per creare una infrastruttura di web services che si scambiano messaggi e, nel campo del software libero, in azienda usiamo svariati software:

  • WSO2 esb come bus per connettere i web services fra di loro
  • Intalio per la generazione di workflow che viene trasformato in web services
  • Ant per la generazione di script per automatizzare procedure di compilazione e deploy
  • Tomcat & Axis2 per il deploy dei webservices e anche per la generazione automatica degli stessi a partire da file wsdl
  • Squid come url rewriter
  • Eclipse per lo sviluppo
  • SubVersion come CVS e Subclipse come client installato su Eclipse
  • Openlaszlo per un paio di applicazioni che fanno da viewer
  • Axiom/Stax e Xmlbeans come librerie per il parsing di file XML e la generazione di file java da xml schema
  • ecc.

L’ultimo di questi è Apache Continuum che, arrivato alla versione 1.1, è uno dei tanti prodotti della Apache Software Foundation rilasciato con licenza Apache Licence 2.0

Continuum in sostanza lo usiamo per prendere i file immagazzinati del repository di SubVersion e fargli fare la compilazione dell’intero progetto alle 23.00 di ogni notte. La gestione di questa attività avviene tramite una semplice interfaccia web e inoltre il risultato della compilazione puo’ essere mandato per email agli sviluppatori (nota noi non l’abbiamo fatto in quanto siamo in pochi pero’ ovviamente è una cosa utile).

Via interfaccia web gli forniamo quindi il link del repository di SubVersion, il file ant che usa per la compilazione con i vari target e il tempo di schedulazione come in cron. La configurazione del server di posta va fatta editando il file apposito.

Continuum si puo’ installare in 2 principali modi: come standalone application o come applicazione che necessita un application server come Tomcat ad esempio. Noi l’abbiamo installato come standalone  perchè è messo su un server (per mia sfortuna Windows 2003 Server) e non volevamo installare un application server e abbiamo seguito questa guida (dove pero’ non abbiamo patchato Ant).

Per avere idea di come funziona vi consiglio di vedere la demo, un articolo collegato e un vecchio articolo che ho trovato in rete.

Alternativa a Continuum puo’ essere Cruise Control ed altri pochi software che vedete qui.

Nota: nell’interfaccia web Continuum chiede di mettere il path per la cartella di lavoro e destinazione, cercate di mettere un path corto perchè su Windows :-( si incazza.

Buona integrazione!

Advertisements