Graficar ejemplo completo de integrar GitFlow y GitLab MRs

[IMG]

[1]

Hace 10 aΓ±os que uso `git flow` ^1[2] en `gcoop` ^2[3] y hace 2 aΓ±os que en un proyecto grande lo usamos conjuntamente con el circuito de `MRs` ^3[4] de `GitLab` ^4[5] 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[6] esta disponible en el *repo* `osiux-graphviz` ^6[7]

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*

*feature*, *release* y *tag*

*hotfix*

Referencias

Tal vez te interese leer

ChangeLog

1: file:img/git-flow-full.png

2: https://nvie.com/posts/a-successful-git-branching-model/

3: https://www.gcoop.coop/

4: https://docs.gitlab.com/ee/user/project/merge_requests/

5: https://docs.gitlab.com/omnibus/installation/

6: https://gitlab.com/osiux/osiux-graphviz/-/raw/develop/dot/git-flow-full.dot

7: https://gitlab.com/osiux/osiux-graphviz/

8: 2023-02-24-automate-blog-from-org-mode-to-html-markdown-gemini-using-docker-alpine-org2blog-and-gitlab-ci.gmi

9: 2023-02-14-howto-launch-gitlab-ci-from-other-gitlab-ci-repo-using-trigger.gmi

10: 2022-10-08-automate-deployment-of-AWX-resources-with-GitLab-CI-CD-and-ansible-tools.gmi

11: 2022-08-21-howto-use-gitlab-from-command-line.gmi

12: https://gitlab.com/osiux/osiux.gitlab.io/-/commit/7b750e2424e400fd1a78e5a5e95095ba39d8fa87