Graficar ejemplo completo de integrar GitFlow y GitLab MRs

· osiux's blog

#+LINK_HOME:   index.html
#+INCLUDE:     header.org
#+ATTR_HTML: :title Git Flow Full Example with branch develop, master, support 0.1x, support 0.2.x and four tags include GitLab Pipeline Status, Ready and Approve MR for branchs feature, hotfix and release

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

# hotfix

# Referencias

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

# Tal vez te interese leer

# ChangeLog