Integraci贸 continua: buildbot + codespeed + guppy-pe + resource
Reading time: 3 – 4 minutes
Degut a un requeriment que teniem a la feina he montat un entorn d’integraci贸 continua. En esc猫ncia el que es busca 茅s el seg眉ent:
- Llen莽ar de forma autom脿tica tests sobre els commits que es fan al codi (buildbot)
- Tenir un repositori dels resultats dels tests f脿cil de consultar (web) (buildbot)
- Suportar tests sobre rendiment (profiling) autom脿tics (guppy-pe + resource)
- Poder comprovar quina 茅s l’evoluci贸 d’aquests tests de rendiment amb una eina visual (codespeed)
Per tal d’aconseguir aquests objectius s’ha usat:
- buildbot: que permet automatitzar l’entorn de compilaci贸 i testeix dels commits que es van fent al repositori. (esta programat en python). Per entendre millor buildbot, 煤s recomano llegir l’apartat: system architecure del seu manual.
- codespeed: 茅s una eina feta amb python+django+mysql a trav茅s d’una interficie HTTP+JSON pot injectar informaci贸 a la BBDD i a trav茅s de la GUI ens mostra:
- overview: a trav茅s d’una taula mostra les tend猫ncies dels resultats dels benchmark associats a un executable.
- timeline: mostra en una gr脿fica l’evoluci贸 dels resultats arxivats sobre un benchmark concret fets sobre un host.
- guppy-pe: ens permet extreure dades referents als recursos de sistema que esta consumint una part del codi: classe, funci贸, variable, etc.
- resource: 茅s un m贸dul de python que permet saber (resource.getrusage(PID)) quins recursos esta consumint un PID en un moment donat.
Com que la documentaci贸 que he fet per la feina l’he hagut de filtrar per no revelar informaci贸 interna, la documentaci贸 que publico esta en format OpenOffice i PDF perqu猫 sigui senzill per tothom llegir-la i modificar-la si vol.
- Paquet .tar.gz, cont茅:
- fitxer de configuraci贸 buildbot, master.cfg
- codi d’exemple per provar l’entorn, buildbot-test
- codi del tobami-codespeed modificat perqu猫 sigui m茅s generalista que la versi贸 original
- integracion-continua-instalacion.odt: document amb notes sobre els procediments que he seguit per la instal路laci贸 de tot plegat.
- integracion-continua-manual.odt: manual d’usuari de tot plegat. (tamb茅 la versi贸 en pdf)
- integracion-continua-manual.pdf: enlla莽o de forma directa aquest manual per si hi voleu donar un cop d’ull per saber si 煤s interessa el tema.
Enlla莽os relacionats: