#+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
=> [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:
┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬────────┐ │ *type* │ *tag/br │ *Create │ *PS* │ *Ready* │ *Review │ *Approv │ *Merge │ │ │ anch* │ MR* │ │ │ MR* │ e* │ * │ ╞═════════╪═════════╪═════════╪═════════╪═════════╪═════════╪═════════╪════════╡ │ │ `v0.1.0 │ │ │ │ │ │ │ │ *Tag Re │ , │ │ *GitLab │ │ │ │ │ │ leases* │ v0.2.0, │ *N/A* │ * │ *N/A* │ *N/A* │ *N/A* │ *N/A* │ │ │ v0.1.1, │ │ │ │ │ │ │ │ │ v0.2.2` │ │ │ │ │ │ │ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼────────┤ │ │ `master │ │ │ │ │ │ │ │ *Stable │ , suppo │ │ │ │ │ │ │ │ Release │ rt/0.1. │ *N/A* │ *GitLab │ *N/A* │ *N/A* │ *N/A* │ *N/A* │ │ s* │ x, supp │ │ * │ │ │ │ │ │ │ ort/0.2 │ │ │ │ │ │ │ │ │ .x` │ │ │ │ │ │ │ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼────────┤ │ │ `releas │ │ │ │ │ │ │ │ *Releas │ e/0.1.0 │ *Develo │ *GitLab │ *Develo │ *Mantai │ *Mantai │ *Manta │ │ e Branc │ , relea │ per* │ * │ per* │ ner* │ ner* │ iner* │ │ hs* │ se/0.2. │ │ │ │ │ │ │ │ │ 0` │ │ │ │ │ │ │ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼────────┤ │ *Hotfix │ `hotfix │ │ │ │ │ │ │ │ Branchs │ /0.1.1, │ *Develo │ *GitLab │ *Develo │ *Mantai │ *Mantai │ *Manta │ │ * │ hotfix/ │ per* │ * │ per* │ ner* │ ner* │ iner* │ │ │ 0.2.2` │ │ │ │ │ │ │ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼────────┤ │ *Featur │ `featur │ │ │ │ │ │ │ │ e Branc │ e/foo, │ *Develo │ *GitLab │ *Develo │ *Mantai │ *Mantai │ *Manta │ │ hs* │ feature │ per* │ * │ per* │ ner* │ ner* │ iner* │ │ │ /bar` │ │ │ │ │ │ │ └─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴────────┘
project#123
feature/foo
saliendo de develop
en el repo que corresponda
Draf: Resolve feature/foo "Issue Tittle"
con Closes project#123
feature/foo
debe tener MR con PS
foo/foo_bar_vM.N.P
release/M.N.P
debe tener PS
vM.N.P
support/M.N.x
saliedo de tag vM.M.x
hotfix/foobar
saliendo de support/M.N.x
hotfix/foobar
debe tener MR con PS
┌─────────┬─────────────────────┐ │ item │ descripción │ ╞═════════╪═════════════════════╡ │ *MR* │ *Merge Request* │ ├─────────┼─────────────────────┤ │ *PS* │ *Pipeline Success* │ ├─────────┼─────────────────────┤ │ `M.N.P` │ `MAJOR.MINOR.PATCH` │ └─────────┴─────────────────────┘
alpine-org2blog
and GitLab CI[8]
2023-05-12 10:40
[12] agregar Graficar ejemplo completo de integrar GitFlow y GitLab MRs
=> 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 This content has been proxied by September (3851b).Proxy Information
text/gemini;lang=es_AR