SINCE1998
Automatic DeploymentVersioning with git-flow
Versioning & Deployment with git-flow
Branches
master develop feature/xxxxx (as a suggestion ID number) release/xx.xx.xx (versioned) hotfix/xxxx (as a suggestion ID number)
Branch master
Versioning• Here will be versioned every release that is tested or
hotfix.Deployment• To Production environment when a release or hotfix
is merged.
Branch develop
Versioning• Here will be versioned every feature that is
completed and every release that has been tested.Deployment• To DEV environment when a feature is merged.
Branch release
Versioning• Break in point history of a functional and testable
version.• After acceptance tests, will be merged with master
and develop branches.Deployment• To UAT environment to be tested, when a release
created.
Branch feature
Versioning• Here will be versioned every feature working in
progress.• When is completed (DONE), will be merged with
develop branch.
Branch hotfix
Versioning• Here will be versioned every hotfix (BUG) working in
progress.• When is completed (DONE), will be merged with
master branch.
Using all Branches
Understanding how git-flow works
git flow feature start MYFEATURE git flow feature finish MYFEATURE
* Must be published to be accessible to other developers
Branch feature
git flow hotfix start VERSION [BASENAME] git flow hotfix finish VERSION
* Published and finished by “Committer”
Branch hotfix
git flow release publish RELEASE git flow release finish RELEASE
* Published and finished by “Committer”
Branch release
Timeline SCRUM & Deployment
Friday Monday Tuesday Wednesday Thursday15 min Daily Stand-up Meetings
• Develop Solutions + Unit Tests
• Run Unit Tests• Pull
ReleaseTime
Begins
ReleaseClosed
Production
UserAcceptanceTesting
Developer
Does it works?
NO
YES
Does it works?
NO
YES
Close Feature
PlanningRefinement
Retrospective
Fix on Release
Feature Creation by myOptime ID
SCRUMGit-Flow
Any bug? HOTFIX