📌 Fluxo de Versionamento e Branches (Efetivado)
Este documento descreve um fluxo alternativo de versionamento e deploy, no qual as branches estão diretamente ligadas aos ambientes de homologação (HML) e produção (PRD). O processo é apoiado pelo Semantic Release, que garante automação de versões, changelogs e workflows de publicação.
🔹 Estrutura de Branches
main- Contém a versão estável em produção.
- Exemplo:
v2.3.0. - O fluxo de deploy a partir dessa branch ocorre exclusivamente para o ambiente de produção (PRD).
-
Sempre que houver promoção de código para
main, o Semantic Release dispara um novo workflow exclusivo para aquela versão.- Isso habilita rollout/rollback e gera as Release Notes com base nas diferenças entre versões.
-
feature/* - Branch destinada à implementação de novas funcionalidades, melhorias ou correções.
- Permite deploy direto no ambiente de homologação (HML) para validações.
-
Após estabilização e validações em HML, a feature pode ser promovida para a branch
main. -
local development - Ambiente local do desenvolvedor.
- Permite condicionamento e execução de atividades sem impactar HML/PRD.
- Publicações em HML podem ser feitas mesmo em estado draft (utilizando, por exemplo,
skip ci).
🔹 Fluxo de Ambientes
- Local Development
- O desenvolvedor implementa e valida suas alterações localmente.
-
Pode realizar deploy em HML para validar integrações e testes com outras áreas.
-
Ambiente de HML
- Recebe deploys provenientes das branches
feature/*. - Permite testes, validações e homologação da solução.
-
Somente após validação em HML é que o código pode seguir para
main. -
Ambiente de PRD
- Recebe deploys somente da branch
main. - Representa o estado estável do sistema em produção.
- Permite rollout/rollback ágil com workflows gerados pelo Semantic Release.
🔹 Semantic Release
- Automatiza:
- Geração de versões (ex.:
v2.3.0). - Criação de changelog.
- Disparo de workflows exclusivos para cada release, permitindo rollout/rollback.
- Geração de Release Notes baseadas nas diferenças entre versões.
🔹 Resumo Visual do Fluxo

🔹 Boas Práticas
- Sempre criar novas funcionalidades a partir de uma branch
feature/*. - Publicar em HML para validações antes de promover à
main. - Garantir que testes e QA estejam completos antes de merge na
main. - Acompanhar changelogs e Release Notes gerados pelo Semantic Release.
- Em caso de falhas em PRD, utilizar o rollback automático via workflow gerado pelo Semantic Release.
- Utilizar
skip ciou PRs em draft quando for necessário publicar algo em HML sem impactar pipelines.
✅ Checklist Rápida para o Time
- [ ] Criar branch
feature/nome-da-featurea partir demain. - [ ] Implementar alterações localmente em Local Development.
- [ ] Deployar no ambiente de HML para validação.
- [ ] Realizar testes funcionais, integração e QA em HML.
- [ ] Promover a feature para a branch
mainapós validação. - [ ] Deploy automático em PRD gerado a partir de
main. - [ ] Confirmar changelog e Release Notes criadas pelo Semantic Release.
- [ ] Em caso de problema em PRD, acionar o rollback automático via workflow.