e git branching for - eclipsecon 2020...continuous delivery e ^ @devtoolsuperfan sarah goff-dupont...
TRANSCRIPT
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: dependencieseasy 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 issuestill 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.1bugfix-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 nirvana4
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