Skip to content
Latchkey

O que é uma release branch?

Uma release branch é uma branch criada para estabilizar uma versão específica, aceitando apenas correções enquanto o desenvolvimento contínuo prossegue em outro lugar.

Uma release branch dá a uma versão um lugar tranquilo para ser finalizada. Depois que as funcionalidades de uma release estão prontas, a equipe cria uma release branch, congela o conjunto de funcionalidades e permite apenas correções de bugs e ajustes finais. Enquanto isso, o novo trabalho continua na linha principal de desenvolvimento.

What a release branch does

Uma release branch tira um snapshot do código destinado a uma versão e o isola de novas funcionalidades. Apenas correções para aquela release entram nela. Isso permite que a equipe endureça um candidato sem bloquear o desenvolvimento contínuo e fornece um alvo claro para os testes finais.

Cutting a release branch

Você cria a branch a partir da linha de integração e depois a restringe a mudanças de estabilização.

Cutting a release branch
git switch -c release/2.3 develop
# only bug fixes land here until release

Stabilize, then tag

Durante a janela de estabilização, os testadores exercitam a branch e os desenvolvedores corrigem o que encontram. Quando está estável, o commit recebe a tag da release e é feito o merge de volta para que as correções não se percam. A branch pode ser mantida para patches futuros ou aposentada.

Release branches in CI/CD

As release branches muitas vezes disparam pipelines mais pesados: suítes completas de regressão, testes de performance e deploys em staging que as branches do dia a dia pulam. A confiança do CI na release branch é o que justifica o envio. Assim que a branch recebe a tag, um pipeline de release faz o build e publica o artifact final.

Release branch practices

  • Permita apenas correções em uma release branch, não novas funcionalidades.
  • Execute verificações estendidas de CI reservadas para release candidates.
  • Aplique a tag no commit estabilizado e faça o merge das correções de volta para main.
  • Decida antecipadamente se vai manter a branch para patches.

Principais conclusões

  • Uma release branch estabiliza uma versão enquanto o desenvolvimento continua em outro lugar.
  • Ela aceita apenas correções e, quando estável, recebe uma tag.
  • O CI executa verificações mais pesadas nas release branches antes do envio.

Guias relacionados