Processo de Desenvolvimento

Processo de Desenvolvimento

O processo de desenvolvimento é realizada através do fluxo de trabalho do Git.

O objetivo deste documento é apresentar qual abordagem temos seguido para realizar o deploy dos serviços do STF Digital.

Objetivos

Em termos de processo de desenvolvimento, trabalhamos com seguinte conjunto de objetivos:

Fluxo de Codificação

É realizado através da Ferramenta Git com o seguinte fluxo:

Fluxo Git

Comandos Git

Feature branchHotfixRelease branch
Padrão ft-nome-do-projeto-000 (número da issue) a partir da branch developPadrão hf-projeto-000 a partir da branch masterPadrão rl-0.0.0 (fix versioin do JIRA) a partir da branch develop
git checkout develop
git pull origin develop
git checkout -b ft-stfdigital-123 develop
git push origin ft-stfdigital-123
git checkout master
git pull origin master
git checkout -b hf-stfdigital-234 master
git push origin hf-stfdigital-234
git pull origin develop
git checkout -b rl-0.0.1-RC develop
git push origin rl-0.0.1-RC
Ao final do dia, atualize o repositório remotoMerge com a master e com a developCorreções de bug na própria branch
git commit -m “Se tiver alteração pendente”
git push origin ft-stfdigital-123
git checkout master
git pull origin master
git merge –no-ff hf-stfdigital-234
git push origin master
git checkout develop
git pull origin develop
git merge –no-ff hf-stfdigital-234
git push origin develop
git branch -d hf-stfdigital-234
git push origin –delete hf-stfdigital-234
git commit -m “Correção do bug”
git push origin rl-0.0.1-RC
Para finalizar uma feature* Se tiver uma branch de release fazer o merge com ela e não com a developMerge com a master e com a develop
git checkout develop
git pull origin develop
git merge –no-ff ft-stfdigital-123
git push origin develop
git branch -d ft-stfdigital-123
git push origin –delete ft-stfidigital-123
* Caso necessário,fazer merge do hotfix diretamente na feature branchgit checkout master
git pull origin master
git merge –no-ff rl-0.0.1-RC
git push origin master
git checkout develop
git pull origin develop
git merge –no-ff rl.0.0.1-RC
git push origin develop
git tag -a 0.1 -m “Descrição da release”
git push –tags origin master
git branch -d rl-0.0.1-RC
git push origin –delete rl-0.0.1-RC

Automatização

Hoje a automatização no STF Digital está presente nas construção das releases e na integração com o Jira para versão e issues de implantação.