Graficar ejemplo completo de integrar GitFlow y GitLab MRs

index | about | archive | charlas | docs | links

dot | git | img | plt | tty | uml

git-flow-full.png

Hace 10 años que uso git flow 1 en gcoop 2 y hace 2 años que en un proyecto grande lo usamos conjuntamente con el circuito de MRs 3 de GitLab 4 para clarificar un poco todo el proceso decidí utilizar GraphViz

En el diagrama de ejemplo se plantean 2 features (foo y bar), cada uno es para un release en particular (v0.1.0 y v0.2.0) y posterior a cada release se generan 2 hotfix (v0.1.1 y v0.2.2).

El código del grafo 5 esta disponible en el repo osiux-graphviz 6

El flujo de desarrollo es idéntico tanto para feature, release y hotfix, es decir, todos los branchs requieren los siguientes pasos:

  1. Crear branch e inmediatamente, crear MR en Draft
  2. Desarrollar feature, release y/o hotfix
  3. Verificar Pipeline Success de GitLab (caso contrario volver a 2)
  4. Si el desarrollo esta listo, marcar Ready
  5. Revisar MR y Aprobar solo si hay PS (caso contrario volver a 2)
  6. Si se completaron todos los pasos anteriores, realizar merge
type tag/branch Create MR PS Ready Review MR Approve Merge
Tag Releases v0.1.0, v0.2.0, v0.1.1, v0.2.2 N/A GitLab N/A N/A N/A N/A
Stable Releases master, support/0.1.x, support/0.2.x N/A GitLab N/A N/A N/A N/A
Release Branchs release/0.1.0, release/0.2.0 Developer GitLab Developer Mantainer Mantainer Mantainer
Hotfix Branchs hotfix/0.1.1, hotfix/0.2.2 Developer GitLab Developer Mantainer Mantainer Mantainer
Feature Branchs feature/foo, feature/bar Developer GitLab Developer Mantainer Mantainer Mantainer

feature, release y tag

  • crear issue en project#123
  • crear branch feature/foo saliendo de develop en el repo que corresponda
  • crear MR Draf: Resolve feature/foo "Issue Tittle" con Closes project#123
  • branch feature/foo debe tener MR con PS
  • crear documentación en wiki foo/foo_bar_vM.N.P
  • branch release/M.N.P debe tener PS
  • tag vM.N.P

hotfix

  • crear branch support/M.N.x saliedo de tag vM.M.x
  • crear branch hotfix/foobar saliendo de support/M.N.x
  • branch hotfix/foobar debe tener MR con PS

Referencias

item descripción
MR Merge Request
PS Pipeline Success
M.N.P MAJOR.MINOR.PATCH

Tal vez te interese leer

ChangeLog

  • 2023-05-12 10:40 agregar Graficar ejemplo completo de integrar GitFlow y GitLab MRs

Notas al pie de página: