Hur vi jobbar med Git och release

Processen övergripande

Git flow exempel hämtade från:

https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

http://nvie.com/posts/a-successful-git-branching-model/

http://danielkummer.github.io/git-flow-cheatsheet/


Övergripande om processen

  • Branchen master innehÃ¥ller endast merger frÃ¥n releasbrancher.
  • Branchen develop är där ny funktionalitet införs (integration branch)
  • Varje feature utvecklas i en egen branch med develop som ursprunglig branch.
  • När en feature är klar mergas den tillbaka in i develop.
  • När branchen develop innehÃ¥ller tillräckligt med features för en release, skapas en release-branch, och samtidigt startas utvecklingen för nästa release.
  • I release-branch görs endast bug-fixar och dokumentationsuppdateringar.
  • När den release-branch är redo att skeppas, taggas den bed hjälp av mvn ett maven och mergas den master, efter det mergas ändringar ocksÃ¥ till develop.
  • En support branch är en lÃ¥nglivad 'master-branch' för en viss version.

Namnkonventioner

develop-branch: develop

release-branch: release/<version>, tex release/2.3.0

feature-branch: feature/<JIRA nr>, tex feature/SKLTP-123

hotfix-branch: hotfix/<JIRA nr>, tex hotfix/SKLTP-123

support-branch: support/<version>, tex support/2.3.0

tag: <version>, tex 2.3.0

kommentar: ex SKLTP-123: Loggning av payload skall vara konfigurerbar av/på

SKLTP/NTjP/Inera's Informationstjänster git branch mot driftmiljö

Git flow processen och exempel med git-flow installerat

Nedan exempel med verktyget git-flow och motsvarande git kommandon om man inte har tillgång till verktyget

https://github.com/nvie/gitflow

https://github.com/nvie/gitflow/wiki/Command-Line-Arguments

Git flow motsvarande git command

https://gist.github.com/JamesMGreene/cdd0ac49f90c987e45ac

Release version hantering (pom filer och taggar)

Installera verktyget git flow

Git flow kommer med git installation (verifierat på Windows)

Git flow första gången

Git flow krävs att man kör init det första gången. Med parametrar -d tar det default konfiguration.

─$ git flow init -d

Införa ny funktionalitet (feature branch)

Göra en release (release branch)

Göra en rättning på en publicerad release (hotfix branch)

Skapa en långlivad support branch för att kunna göra rättningar på äldre versioner (support branch)