Home | Escopo | Arquitetura | Configuração | Mockups | BD | Instalação | Gerência | Processo |
---|
Gitflow
Aqui definiremos o nosso modelo de ramificações a ser seguido o qual tem o seu começo no lançamento do projeto. Com isso temos uma estrutura melhor estruturada à medida que o projeto ganhe tamanho.
A utilização de Gitflow é ideal para ciclos de lançamentos agendados e tem por sua característica atribuir funções bem específicas para diferentes ramificações do código e definir quando estas devem interagir.
Neste projeto iremos considerar os lançamentos agendados como o final de cada sprint.
Branch principal e de desenvolvimento
Este fluxo de trabalho utiliza duas ramificações para registrar o histórico do projeto. A branch “Master" armazenará o histórico das releases e a branch “Develop" servirá para a integração das ramificações de User Story. É conveniente marcar todas as confirmações na “master" com o número de versão ao final de cada sprint.
Vale observar que a branch “Develop" vai conter todo o histórico do projeto enquanto que a branch “Master" vai conter uma versão abreviada do histórico ressaltada pelas marcações discutidas anteriormente.
Branch de user story
Cada User Story deverá ter a sua própria branch, sendo ela uma ramificação da branch de desenvolvimento. Esta branch deverá ter ramificações partindo dela mesma, sendos estas as ramificações de tasks. Cada task terá uma branch para si mesma e quando ela for terminada ela irá ser margeada com a respectiva branch de User Story. Quando todas as taks dessa User Story foram completadas a Branch da User Story será margeada com a branch de desenvolvimento.
Vale ressaltar que as ramificações de User Story serão sempre criadas a partir da ramificação de desenvolvimento mais atualizada.
Branch de release
Neste projeto iremos considerar cada sprint como um lançamento. Sendo assim, todas as User Stories que forem completadas nesse período estarão registrada na branch de desenvolvimento e no final deste período ocorrerá um merge desta branch com a master a qual ficará responsável pelo histórico de lançamentos.
Nomenclatura
Como dito neste documento iremos criar branches para cada US e para cada respectiva task dessa US, portando para a melhora organização do repositório iremos adotar a seguinte nomenclatura para as branches de US e de task respectivamente:
- US_descriçãoUS
- US_descriçãoUS_idTask_descriçãoTask
Se fomos considerar o nosso projeto agora o exemplo ficaria desta maneira:
- NA03_registroDeAtividades
- NA03_registroDeAtividades_id58_telaRegistroAtividade
Como podemos ver as descrições deverão tentar ser curtas porém que de alguma forma ajudem a identificar as branches no repositório.