Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

g-flow: Uma implementação Gitflow Completa e Pr...

g-flow: Uma implementação Gitflow Completa e Prática

Apresentar a g-flow, uma implementação prática e completa da estratégia de branching Gitflow:

Mais do que duas branches permanentes;
Conectada;
Com a possibilidade de métricas;
Troca rápida entre versões;

https://github.com/galvao-eti/g-flow

Er Galvão Abbott

May 29, 2023
Tweet

More Decks by Er Galvão Abbott

Other Decks in Programming

Transcript

  1. CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott -

    5/29/23 - 1 / 52 galvao.eti.br Uma implementação Gitflow Prática e Completa
  2. Programador, Professor e Consultor Presidente da ABRAPHP – Associação Brasileira

    de Profissionais PHP Diretor, ConFLOSS, NodeConBR e PHP Conference Brasil Evangelista e Contribuidor para a Linguagem PHP Evangelista e Contribuidor para o Laminas Project Embaixador Fedora LATAM Professor Convidado (Especialista) de Pós-Graduação (PR e SC) 27+ anos desenvolvendo sistemas com interface web 20+ destes com PHP 15+ com Zend Framework / Laminas Project Palestrante em eventos nacionais e internacionais Professor de cursos presenciais e à distância www.galvao.eti.br galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 5/29/23 - 2 / 52 Eu sou o Galvão:
  3. Apresentar a g-flow, uma implementação prática e completa da estratégia

    de branching Gitflow: Mais do que duas branches permanentes; Conectada; Com a possibilidade de métricas; Troca rápida entre versões; github.com/galvao-eti/g-flow galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 5/29/23 - 3 / 52 Objetivo
  4. 1) Apresenta 4 tipos de branches: 1) Hotfix, Fix, Feature

    e Epic. 2) Branches Iniciais: 1) Desenvolvimento; 2) Homologação; 3) Produção. 3) Estabilidade: A branch de Produção só é atualizada por Hotfixes e Releases. 4) Organização: Fluxos claros e completos para cada tipo de branch. 5) Simplicidade: Ferramenta bash para trabalhar com todos os tipos. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 5/29/23 - 4 / 52 Conceitos
  5. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 7 / 52 Fluxo: Hotfix Após a identificação do bug o(a) Release Manager (RM) declara o início do Code Freeze.
  6. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 8 / 52 Fluxo: Hotfix Dev cria a branch com o nome no formato hotfix/issue a partir de Produção e imediatamente a cria remotamente
  7. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 9 / 52 Fluxo: Hotfix Dev trabalha na sua branch, testa a correção localmente, faz o push para a sua branch remota e notifica o(a) RM
  8. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 10 / 52 Fluxo: Hotfix O(a) RM faz o merge em Produção e Desenvolvimento
  9. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 11 / 52 Fluxo: Hotfix Estando declarada a solução do bug, o(a) RM lança a release a partir de Produção ...
  10. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 12 / 52 Fluxo: Hotfix … e faz o merge para todas as branches de Homologação e Produção.
  11. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 13 / 52 Fluxo: Hotfix … e faz o merge para todas as branches de Homologação e Produção.
  12. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 14 / 52 Fluxo: Hotfix … e faz o merge para todas as branches de Homologação e Produção.
  13. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 15 / 52 Fluxo: Hotfix … e faz o merge para todas as branches de Homologação e Produção.
  14. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 16 / 52 Fluxo: Hotfix O período de Code Freeze é encerrado
  15. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 18 / 52 Fluxo: Feature Dev cria a branch com o nome no formato feature/issue a partir de Produção e imediatamente a cria remotamente. Dev trabalha na sua branch, testa a feature localmente e faz pushes para a sua branch remota
  16. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 19 / 52 Fluxo: Feature Ao concluir o trabalho, Dev abre uma PR para Desenvolvimento. É realizado o Code Review
  17. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 20 / 52 Fluxo: Feature Se a PR for aprovada, o(a) RM faz o merge para Desenvolvimento e Homologação e declara o início do Code Freeze.
  18. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 21 / 52 Fluxo: Feature Em Homologação são realizados os testes de Regra de Negócio. Caso o trabalho seja homologado, ele é mergeado no ambiente de Homologação do Cliente
  19. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 22 / 52 Fluxo: Feature Se o cliente homologar, o(a) RM lança a release a partir de Homologação...
  20. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 23 / 52 Fluxo: Feature … e faz o merge para todas as branches de Homologação e Produção.
  21. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 24 / 52 Fluxo: Feature … e faz o merge para todas as branches de Homologação e Produção.
  22. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 25 / 52 Fluxo: Feature … e faz o merge para todas as branches de Homologação e Produção.
  23. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 26 / 52 Fluxo: Feature … e faz o merge para todas as branches de Homologação e Produção.
  24. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 27 / 52 Fluxo: Feature O período de Code Freeze é encerrado
  25. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 29 / 52 Fluxo: Epic Feature É criada uma branch com o nome no formato epic/nome_epic a partir de Produção
  26. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 30 / 52 Fluxo: Epic Feature Dev cria a branch com o nome no formato feature/issue a partir de epic/nome_epíc e imediatamente a cria remotamente. Dev trabalha na sua branch, testa a feature localmente e faz pushes para a sua branch remota
  27. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 31 / 52 Fluxo: Epic Feature Ao concluir o trabalho, Dev abre uma PR para a branch da epic. É realizado o Code Review
  28. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 32 / 52 Fluxo: Epic Feature Se a PR for aprovada, o(a) RM faz o merge para a branch da epic. Quando a epic estiver concluída e testada, Dev abre uma PR para Desenvolvimento
  29. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 33 / 52 Fluxo: Epic Feature Se a PR for aprovada, o(a) RM faz o merge para Desenvolvimento e Homologação e declara o início do Code Freeze.
  30. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 34 / 52 Fluxo: Epic Feature Em Homologação são realizados os testes de Regra de Negócio. Caso o trabalho seja homologado, ele é mergeado no ambiente de Homologação do Cliente
  31. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 35 / 52 Fluxo: Epic Feature Se o cliente homologar, o(a) RM lança a release a partir de Homologação...
  32. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 36 / 52 Fluxo: Epic Feature … e faz o merge para todas as branches de Homologação e Produção.
  33. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 37 / 52 Fluxo: Epic Feature … e faz o merge para todas as branches de Homologação e Produção.
  34. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 38 / 52 Fluxo: Epic Feature … e faz o merge para todas as branches de Homologação e Produção.
  35. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 39 / 52 Fluxo: Epic Feature … e faz o merge para todas as branches de Homologação e Produção.
  36. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 40 / 52 Fluxo: Epic Feature O período de Code Freeze é encerrado.
  37. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 42 / 52 Fluxo: Fix Dev cria a branch com o nome no formato fix/issue a partir de Produção e imediatamente a cria remotamente. Dev trabalha na sua branch, testa o fix localmente e faz pushes para a sua branch remota
  38. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 43 / 52 Fluxo: Fix Ao concluir o trabalho, Dev abre uma PR para Desenvolvimento. É realizado o Code Review
  39. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 44 / 52 Fluxo: Fix Se a PR for aprovada, o(a) RM faz o merge para Desenvolvimento e Homologação e declara o início do Code Freeze
  40. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 45 / 52 Fluxo: Fix Em Homologação são realizados os testes de Regra de Negócio. Caso o trabalho seja homologado, ele é mergeado no ambiente de Homologação do Cliente
  41. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 46 / 52 Fluxo: Fix Se o cliente homologar, o(a) RM lança a release a partir de Homologação...
  42. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 47 / 52 Fluxo: Fix … e faz o merge para todas as branches de Homologação e Produção.
  43. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 48 / 52 Fluxo: Fix … e faz o merge para todas as branches de Homologação e Produção.
  44. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 49 / 52 Fluxo: Fix … e faz o merge para todas as branches de Homologação e Produção.
  45. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 50 / 52 Fluxo: Fix … e faz o merge para todas as branches de Homologação e Produção.
  46. galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott

    - 5/29/23 - 51 / 52 Fluxo: Fix O período de Code Freeze é encerrado.
  47. Dúvidas? Críticas? Elogios?! ? galvao.eti.br CC Attribution-ShareAlike 3.0 Unported License

    by Er Galvão Abbott - 5/29/23 - 52 / 52 Muito Obrigado! Imagem por Matt “Kupo” Rozak