Git Branching for Continuous Delivery Sarah Goff-Dupont Developer - - PowerPoint PPT Presentation
Git Branching for Continuous Delivery Sarah Goff-Dupont Developer - - PowerPoint PPT Presentation
extreme ^ Git Branching for Continuous Delivery Sarah Goff-Dupont Developer Advocate & Agile Delivery Nerd @DevToolSuperFan not afraid to ham it up in photos Agenda Git + CD = BFFs 1 Branching models 2 Pointers & pro-tips 3
Git Branching for Continuous Delivery
extreme ^
@DevToolSuperFan
Sarah Goff-Dupont
Developer Advocate & Agile Delivery Nerd
not afraid to ham it up in photos
Agenda
Git + CD = BFFs Branching models Pointers & pro-tips
1 2 3
Why Git for CD?
Challenge #1: dependencies
easy to navigate, right?
look Ma, a goat! I do my thing, too I do my thing
Challenge #2: code line chaos
Build in narrow vertical slices
DATABASE BACK END FRONT END TESTING
Time “big bang” launch
DATABASE BACK END FRONT END TESTING
pint-sized release
Branching & merging is a breeze In Git
Keep the main line clean
dev branch = isolation chamber
Clarity & traceability
Branch-per-Issue Workflow
sgd-IRKD-30 sgd-IRKD-45 master
A branch for every issue
fortunately, no goats here
A branch for every issue
master sgd-IRKD-30 gatekeeper
A branch for every issue
still no goats!
sgd-IRKD-30 sgd-IRKD-45 master
Surprise!
sgd-IRKD-30 sgd-IRKD-45 master
Using an integration branch
integration
sgd-IRKD-30 sgd-IRKD-45 master
Using an integration branch
integration
Branch-per-Issue Workflow
for installed app teams
sgd-IRKD-30 master
Multiple-version support
v 1.2 v 1.1
sgd-IRKD-30 master
Pre-release changes
v 1.2 v 1.1 sgd-IRKD-31
sgd-IRKD-30 master
Post-release updates
v 1.2 v 1.1 bugfix- IRKD-32
master
Post-release updates
v 1.2 v 1.1 bugfix-IRKD-32
Other “Stuff” to Consider
Running CI on dev branches
all active branches are under test
1 2 3
Running CI on dev branches
Manually clone master’s CI configs Automate with plugin or Git hook
bitbucket.org/tpettersen/git-ci-hooks
Running CI on dev branches
Using build power efficiently
sgd-IRKD-30 master v 1.2 trigger CI with every commit here push-button builds here
Peer code review
Peer code review
1 2 3
Create request via UI or git request-pull Review, revise, rinse & repeat Approve & merge
Take it to the extreme
Let dev branches do the dirty work
1 2 3
Keep master releasable at all times Reach continuous delivery nirvana
4
Build small pieces, end-to-end
More info at...
1 2
http://atlassian.com/git @Atlassian
Q & A
@DevToolSuperFan
Sarah Goff-Dupont
Developer Advocate & Agile Delivery Nerd sgoffdupont@atlassian.com