Adrián Valenzuela
blog-post-1

¿Cómo hacer tus subidas de versión más amenas?

¿Nunca os habéis preguntado por cómo simplificar una subida de versión? Una subida de versión de cualquier proyecto puede llegar a complicarse bastante, sobretodo cuando implican bastantes mejoras o incluso soluciones a incidencias.

Primero, lo suyo sería trabajar con una estructura adecuada, no con commits en la rama de master a lo loco, ni en branch (ramas) creados a lo loco.
Segundo, evitar los commits del estilo "incidencia-1" luego "incidencia-1 fix" y para rematar "incidencia-1 final ok" en el branch de master.

A continuación os voy a detallar una estructura de trabajo que YO considero adecuada:

  • Crear un branch desde master para cada nuevo desarrollo
  • Pasar el nuevo desarrollo al branch de master, en este
    punto se recomienda usar una palabra clave en cada mensaje
    de commit, por ejemplo: SOLUCIONADA

  • Hasta aquí se permiten tantos commits como creamos convenientes,
    tanto en el branch creado como en el de master


  • Pasar el nuevo desarrollo del branch de master al entorno de pruebas
    donde vamos a probar todo lo que sube en esta versión junto con lo que ya
    hay en producción

  • Es aquí donde no se permiten más de un commit del mismo desarrollo,
    supongamos el caso de querer subir la mejora-1 y tenemos, en el branch
    de master, dos commits con SOLUCIONADA mejora-1, pasamos estos dos commits
    al entorno de prueba en un único commit como SOLUCIONADA mejora-1. En el caso
    de que se detecte algo antes de que suba a producción, cuando debamos pasar
    lo nuevo al entorno de prueba, deberemos hacer revert de SOLUCIONADA mejora-1
    traer los tres commits de master en uno solo llamado SOLUCIONADA mejora-1.
    De esta manera, solo tendremos que pasar un único commit al branch de producción
    en cada subida.


  • Pasar uno a uno los commits del branch de prueba al branch de producción y
    siguiendo el mismo orden para evitar posibles conflictos en el código


Llegados a este punto, nos podemos encontrar el caso de que tengamos muchas mejoras o incidencias por subir, y que resulte complicado detectar el orden correcto para subirlas y reducir los posibles conflictos.

Es por eso que he desarrollado la siguiente herramienta que nos devuelve ordenados, todos los commits que suben en esa versión para ahorrarnos el trabajo.


Esta aplicacion se conecta con Bitbucket y con Jira, los campos son configurables.
La aplicación coge todas las tareas solucionadas de Jira con fix version 6.0 y
busca en el branch de prueba sus respectivos commits finales que empiecen por la
palabra clave, de ahí el consejo de nombar el commit con SOLUCIONADA mejora-1
y te saca todos los commits en el recuadro que queda libre ordenados de más viejo
a más nuevo para que puedas seguir el mismo orden y reducir el número de conflictos
de líenas de código entre tareas.

Espero que os haya servido. Os dejo el enlace del proyecto para que le echéis un vistazo
Link de Github