Integració de Hudson i Trac
Escrit per Aaloy a 15 de March , 2008 a les 11:52 a.m.
A un altre post ja vaig parlar de Hudson, un sistema d'integració contínua, relativament nou però que permet fer el que un necessita d'aquestes característiques de manera fàcil i amb una interfície molt cuidada.
Hudson es pot integrar amb Trac, de manera que al Timeline del projecte trac poguem veure com han anat les integracions sense tenir que anar al Hudson. D'aquesta manera la gent que fa el seguiment del projecte pot veure a més dels commits al subversions, modificacions al wiki i tickets, com han anat les integracions i quan s'han fet.
La integració dels dos aplicatius és força senzilla:
- Instal·lam el python-feedparser si no ho tenim ja al nostre servidor.
- Anam a http://trac-hacks.org/wiki/HudsonTracPlugin i descarregam el plugin.
- Descomprimim el plugin i amb permisos d'administrador executam python setup.py install això ens crearà el paquet egg i configurarà el plugin a nivell global dins el trac.
- Editam l'arxiu trac.ini del nostre projecte trac que volguem enllaçar amb Hudson i modificam la llista de components, en el meu cas la cosa queda com
[components] iniadmin.iniadmin.iniadminplugin = enabled webadmin.* = enabled HudsonTrac.* = enabled
- Cream també una entra a anomenada hudson allà on posarem tant la url del rss del nombre projecte hudson que volguem controlar com el de la vista del projecte, de tal manera que s'hi crei un enllaç dins Trac
[hudson] display_subprojects = false feed_url = http://servidorhudson/hudson/view/Java/rssAll main_page = http://servidorhudson/hudson/view/Java/
- Canvia el servidorhudson pel vostre servidor. Aquí el que he fet és enllaçar directament contra la vista de projectes anomenada Java que he creat. Podria enllaçar a un projecte concret o a una vista relacionada amb el projecte que es gestiona amb el Trac.
Si s'han seguit aquestes passes i una vegada refrescada la plana del Trac, ens apareixerà una nova secció anomenada Hudson a la part de navegació del Trac que enllaça a la url que hem posat a main_page i al timeline apareixerà una opció que ens permetrà visualitzar les integracions, en forma de control check.
Pels que feu servir Trac de manera habitual, és interessant instal·lar-se també el plugin IniAdminPlugin, que ens crea un menú de configuració per web del trac.ini del nostre projecte.
És interessant a tot això adonar-se de que gràcies als formats oberts, en aquest cas al RSS que publica Hudson i que pot consumir Trac, dues aplicacions fetes en tecnologies totalment diferents es poden integrar.
Al Hudson passa una cosa semblant, està pensat per tractar amb format oberts, típicament sortides XML en format UnitTest, la qual cosa permet afegir-hi projectetes de Python, Java o SoapUI.
Enllaços citats
2 comentaris, 0 trackbacks (URL) , Tags: Informàtica Python Java
Comentaris
1 Comentari de paurullan a les 06:04 del Sunday 13 Apr de 2008
Mola ^_^
Tinc ganes de provar-ho a veure quin tipus de beneficis reals aporta al projectes però me fa bastanta bona olor.
L'estàs usant en entorns de desenvolupament o producció?
2 Comentari de aaloy a les 06:04 del Sunday 13 Apr de 2008
Als dos! :)
És a dir, es pot fer servir a desenvolupament per comprovar que tot compila i que passa els tests. Pots fer des de el paquet Python al war de Java, mentre es pugui crear un script ja tira.
Per la part de producció el que es fa és llançar els tests i no fer la construcció.
El gran avantatge que hi ha és que tens un quadre de comandament allà on ho veus tot, i el que més m'agrada és que si alguna cosa falla pots anar a investigar-ho tot: des de la consola que s'ha executat, els tests que han fallat, quina versió hi ha del codi font, etc.
Per a acabar-ho d'arrodonir és capaç d'exportar variables d'entorn on diu quin build fa i quina aplicació, amb la qual cosa a més pots posar dins el teu paquet quina a construcció correspont, quedant d'aquesta manera tot lligat.
El sistema té moltes possibilitats, i per mi té una avantatge, si tens l'eina ja programes d'una determinada manera pensant que tant la construcció com els tests han de ser totalment desatesos, i que si alguna cosa falla hi haurà el hudson que apuntarà amb el dit ;)