[pyar] SDLC - Staging y Producción - requirements.txt

Andres Riancho andres.riancho en gmail.com
Mar Ago 12 18:25:19 ART 2014


Lista,

    Estoy intentando implementar continuous delivery para todos mis
proyectos, y una de las cosas con las cuales me estoy topando es
cuando un repositorio depende de otro y sus implicancias luego para el
proceso de build y deploy. Me explico mejor,

    Digamos que hay dos proyectos en dos repositorios distintos en
Github: A y B.

 * Ambos repositorios tienen dos branches: develop y master
 * Develop se deploya a staging, master se deploya a produccion
 * Cuando cambio algo en B, pasan los tests, etc. quiero que se
buildee A con la nueva version de B
 * Para no romper produccion quiero que si hago un cambio en
B(develop) se buildee y deploye A(develop). El sistema de CI que uso
permite hacer builds secuenciales, eso no seria un problema.

    Ahora lo que me molesta es que el proyecto A tiene algo como esto
en su requirements.txt hoy:

        git+ssh://git@github.com/andresriancho/B.git@<hash>#egg=B==0.2.8

    Notar que estoy apuntando directo a un <hash> / version. Entonces
si quiero que A se buildee de manera automatica, al menos hoy, siempre
va a tomar la misma version de B. Entonces pase a algo de este estilo:

        git+ssh://git@github.com/andresriancho/B.git@staging#egg=B

    Notar que ahora tengo "staging" como version. Esto funciono bien
por un rato, hasta que hice un merge de develop a master y me quedo el
requirements.txt de master tambien apuntando a B(staging).

    Pense en varias maneras de solucionar esto, todas realizables y
posiblemente en menor tiempo del que tarde en escribir este email ;)
Pero ninguna es bullet-proof, linda, etc. Se toparon con este
problema? Como lo solucionaron?

Saludos,
-- 
Andrés Riancho
Project Leader at w3af - http://w3af.org/
Web Application Attack and Audit Framework
Twitter: @w3af
GPG: 0x93C344F3


More information about the pyar mailing list