Search

Marcelo Lecar

Month

July 2015

Maven Release: branch + Git

Há pouco tempo me deparei com uma certa dificuldade em gerar a release de um branch que eu havia criado. Isso se deve ao fato de termos mudado de SVN para Git recentemente.

A nossa linha de desenvolvimento é no trunk, reservamos as branches somente para corrigirmos bugs que aparecem em produção em versões fechadas e que não tenhamos capotado a versão seguinte ou que já tenhamos adicionado novas features que ainda não estão maduras ou testadas o suficiente de forma a garantirmos a qualidade do software.

Então, para a versão fechada, digamos 1.15, criaremos a versão de branch 1.15.0.1.1. (Descreverei em outro post esse versionamento)

Lembrando que utilizamos o Git e que sendo assim, criamos o branch a partir da tag 1.15 com o comando abaixo:

git checkout -b projeto-1.15 projeto-1.15

Está correto mesmo, criaremos o branch 1.15 para que consigamos fazer com que o maven crie uma nova branch de desenvolvimento que se chamará projeto-1.15.0.1.1 e em seus poms teremos a tag version como projeto-1.15.0.1.1-SNAPSHOT. Caso contrário vc terá de alterar todos os poms manualmente para esta versão, o que não se justifica.

Feito o checkout da versão projeto-1.15 agora é só executar o seguinte comando:

mvn release:branch -DautoVersionSubmodules=true -DbranchName=projeto-1.15.0.1.1 -DupdateBranchVersions=true -DupdateWorkingCopyVersions=false

Feito isso, a branch projeto-1.15.0.1.1 será criada e os poms estarão com a tag version projeto-1.15.0.1.1-SNAPSHOT.

Agora é só fazer as devidas correções do bug, adicionar ao index do git, commitar no repositório e executar o comando:

mvn release:prepare

E se tudo der certo:

mvn release:perform

Caso alguma coisa dê errado, verifique o erro informado e se for necessário vc poderá executar o comando (mas lembre-se de NÃO deletar os arquivos de rollback gerados pelo mvn release:prepare, senão o passo seguinte não funcionará):

mvn release:rollback

Olá Mundo!

Olá! Seja bem vindo!
A idéia da criação de um blog surgiu da minha necessidade e satisfação em compartilhar a minha experiência ao longo dos anos desenvolvendo software.

Website Powered by WordPress.com.

Up ↑