Git Branching for Continuous Delivery Sarah Goff-Dupont Developer - - PowerPoint PPT Presentation

git branching for continuous delivery sarah goff dupont
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1
slide-2
SLIDE 2

Git Branching for Continuous Delivery

extreme ^

slide-3
SLIDE 3

@DevToolSuperFan

Sarah Goff-Dupont

Developer Advocate & Agile Delivery Nerd

not afraid to ham it up in photos

slide-4
SLIDE 4

Agenda

Git + CD = BFFs Branching models Pointers & pro-tips

1 2 3

slide-5
SLIDE 5

Why Git for CD?

slide-6
SLIDE 6

Challenge #1: dependencies

easy to navigate, right?

slide-7
SLIDE 7

look Ma, a goat! I do my thing, too I do my thing

Challenge #2: code line chaos

slide-8
SLIDE 8

Build in narrow vertical slices

DATABASE BACK END FRONT END TESTING

Time “big bang” launch

DATABASE BACK END FRONT END TESTING

pint-sized release

slide-9
SLIDE 9

Branching & merging is a breeze In Git

slide-10
SLIDE 10

Keep the main line clean

dev branch = isolation chamber

slide-11
SLIDE 11

Clarity & traceability

slide-12
SLIDE 12

Branch-per-Issue Workflow

slide-13
SLIDE 13

sgd-IRKD-30 sgd-IRKD-45 master

A branch for every issue

fortunately, no goats here

slide-14
SLIDE 14

A branch for every issue

master sgd-IRKD-30 gatekeeper

slide-15
SLIDE 15

A branch for every issue

still no goats!

slide-16
SLIDE 16

sgd-IRKD-30 sgd-IRKD-45 master

Surprise!

slide-17
SLIDE 17

sgd-IRKD-30 sgd-IRKD-45 master

Using an integration branch

integration

slide-18
SLIDE 18

sgd-IRKD-30 sgd-IRKD-45 master

Using an integration branch

integration

slide-19
SLIDE 19

Branch-per-Issue Workflow

for installed app teams

slide-20
SLIDE 20

sgd-IRKD-30 master

Multiple-version support

v 1.2 v 1.1

slide-21
SLIDE 21

sgd-IRKD-30 master

Pre-release changes

v 1.2 v 1.1 sgd-IRKD-31

slide-22
SLIDE 22

sgd-IRKD-30 master

Post-release updates

v 1.2 v 1.1 bugfix- IRKD-32

slide-23
SLIDE 23

master

Post-release updates

v 1.2 v 1.1 bugfix-IRKD-32

slide-24
SLIDE 24

Other “Stuff” to Consider

slide-25
SLIDE 25

Running CI on dev branches

all active branches are under test

slide-26
SLIDE 26

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

slide-27
SLIDE 27

Running CI on dev branches

slide-28
SLIDE 28

Using build power efficiently

sgd-IRKD-30 master v 1.2 trigger CI with every commit here push-button builds here

slide-29
SLIDE 29

Peer code review

slide-30
SLIDE 30

Peer code review

1 2 3

Create request via UI or git request-pull Review, revise, rinse & repeat Approve & merge

slide-31
SLIDE 31

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

slide-32
SLIDE 32

More info at...

1 2

http://atlassian.com/git @Atlassian

slide-33
SLIDE 33

Q & A

slide-34
SLIDE 34
slide-35
SLIDE 35

@DevToolSuperFan

Sarah Goff-Dupont

Developer Advocate & Agile Delivery Nerd sgoffdupont@atlassian.com

slide-36
SLIDE 36