![Page 1: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/1.jpg)
RAMAS CON GITAPLICACIÓN A UN PROYECTO EN PRODUCCIÓN
Iván López @ilopmarhttp://kaleidos.net/4B0082
![Page 2: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/2.jpg)
PROBLEMA A RESOLVERCompatibilizar desarrollos de nueva funcionalidad conversiones estables en producción y corrección de bugs
![Page 3: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/3.jpg)
¿CÓMO LO HACEMOS?Definiendo una forma estandar de trabajar. Basado en
Usando las ventajas de GIT
Política de BRANCHES
Versionado
Control estricto de los pasos a producción
http://nvie.com/posts/a-successful-git-branching-model/
![Page 4: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/4.jpg)
VERSIONADOEstandar X.YY.ZZX -> Mayor versión
YY -> Minor versión
ZZ -> Patch
![Page 5: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/5.jpg)
PASOS A PRODUCCIÓN
![Page 6: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/6.jpg)
![Page 7: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/7.jpg)
TIPOS DE RAMASInfinitas: develop, masterTemporales: features, releases, hotfix
![Page 8: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/8.jpg)
INFINITAS
![Page 9: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/9.jpg)
DEVELOPRama de desarrollo
Cualquier funcionalidad nueva parte de esta rama y semergea de nuevo aquí
Jenkins configurado para ejecutarse contra ella
![Page 10: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/10.jpg)
MASTERRama de producción
Nunca se commitea en ella
Jenkins configurado para ejecutarse contra ella, aunquenunca debería fallar ;-)
![Page 11: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/11.jpg)
FRONTENDAl principio del proyecto se maquetaba en ella
Deprecada
![Page 12: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/12.jpg)
TEMPORALES
![Page 13: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/13.jpg)
FEATUREPara desarrollar nuevas User Stories
Se crea a partir de develop y se mergea de nuevo a develop
![Page 14: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/14.jpg)
DEMO
![Page 15: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/15.jpg)
RELEASECongelación y estabilización de versión candidata a subir aproducción
Se debe aumentar la versión (minor) y crear tagSe crea a partir de develop y se mergea de nuevo a master ydevelopCualquier bug que haya que corregir para estabilizar laversión se commiteará directamente contra esta rama
Está prohibido mergear cambios contra esta rama ytampoco añadir nueva funcionalidad
![Page 16: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/16.jpg)
DEMO
![Page 17: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/17.jpg)
HOTFIXCorrección de bugs de producción que no pueden esperar alciclo de subidas normales
Se debe aumentar la versión (patch) y crear tagSe crea a partir de master y se mergea de nuevo a master ydevelop
![Page 18: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/18.jpg)
DEMO
![Page 19: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/19.jpg)
PROBLEMASFuncionalidad no-plugable ni ordenable
Árbol de commits "sucio" por los merges de develop a lasramas de features
No hacemos rebase (aunque en su momento lo hicimos) y lovolveremos a hacer
![Page 20: Ramas con git: Aplicación a un proyecto en producción](https://reader030.vdocuments.co/reader030/viewer/2022020306/5563d654d8b42a740a8b458b/html5/thumbnails/20.jpg)