git
"Wat staat er op dit moment in productie?"
master
release
production
master
van 3 weken terug6a8cd58903
"Waar zitten alle finished features in voor de volgende release?"
master
develop
development_vo
staging
"Waar zitten nieuwe features (klaar of niet) in?"
nieuwe-feature
feature/nieuwe-feature
features/nieuwe-feature
master
develop
master
wat er nu in productie staat
staging
wat er nu in de acceptatie omgeving staat
develop
alle afgeronde features voor een volgende release
feature/manage-users-for-backend
een nieuwe feature waar aan gewerkt wordt
hotfix/panic-fix
quick fix die asap live moet
1.0.1
tag naamgeving voor een release
$ git checkout -b feature/admin-login develop
# work work work, commit commit commit, rebase op develop, FINISHED
$ git push origin feature/admin-login
# create pull request ... ?
we komen zo terug op pull requests
# develop --> staging
$ git checkout staging
$ git merge --ff develop
$ git push origin staging
# deploy...
# staging --> master
$ git checkout -b release/2.1.0 staging
# version bump, changelog aanpassen, commit.
$ git checkout master
$ git merge --no-ff release/2.1.0
$ git push origin master
# deploy...
# create new version tag 2.1.0
$ git tag -a 2.1.0
$ git push origin 2.1.0
# create hotfix branch from master
$ git checkout -b hotfix/bsod-fix master
# fix, fix, commit, commit
$ git push origin hotfix/bsod-fix
# pull request
# after merge, pull and checkout master
# create new version tag 1.1.1
$ git tag -a 1.1.1
$ git push origin 1.1.1
Hotfix ook naar staging, develop mergen!!!
features
gaan de develop
branch in voor een volgende releasedevelop
kan altijd naar staging
omdat hier volledige features in zittenstaging
naar de master
branch (productie)tag
(ook na een hotfix
release)try {} catch(Exception) {}
Acceptatie mobile apps
Android: staging
→ beta
iOS: staging
→ adhoc
bekijken of dit werkt...
Meerdere klanten same code base
Bij een release taggen als<klant>/1.0.1
voorbeeld: <sping>/1.0.1
+
Merge van een ander-
maar niet van jezelf