realworld cd pipelines - qcon london 2020 · 2016-04-05 · realworld cd pipelines it’s not...

107
© 2016 CloudBees, Inc. All Rights Reserved © 2016 CloudBees, Inc. All Rights Reserved Realworld CD Pipelines It’s not always a linear stream Nigel Harniman

Upload: others

Post on 22-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

20

16

Clo

ud

Bee

s, In

c. A

ll R

igh

ts R

eser

ved

Realworld CD PipelinesIt’s not always a linear stream

Nigel Harniman

Page 2: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

About me

2

Nigel Harniman

@harniman

Build Engineer, Devops and Architect

DevOps, Infra as Code,Continuous Delivery

Page 3: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

About CloudBees

WE ARE

The Enterprise

Jenkins Company

OUR GOAL

To be the

automation

leader helping

organizations

develop and

deliver better

software faster.

WE OFFER

Continuous

delivery solutions

powered by

Jenkins at

enterprise scale

with enterprise

support.

OUR

BUSINESS VALUE

We enable IT to

deliver better

software faster by

optimizing their

use of Jenkins on

premise or in the

cloud.

Page 4: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

About you

4

Jenkins? CI? CD? Code Jenkins plugin?

Page 5: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

About you

5

Developer?

Page 6: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

About you

6

Operations?

Page 7: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

About you

7

Tester?

Page 8: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

About you

8

Build Engineer?

Page 9: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

About you

9

Project Manager?

Page 10: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

About you

10

Doing CI?

Page 11: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

About you

11

Automated Deployment?

Page 12: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

About you

12

Wants to automatedeployment?

Page 13: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

About you

13

Who has an E2E Pipeline?

Page 14: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

About you

14

Single component?

Page 15: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

About you

15

Complex suite of components?

Page 16: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

About you

16

Whose is perfect?

Page 17: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

About you

17

Who uses Jenkins?

Page 18: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

18

“Software is eating the world.”

“Every business is in the

software business.”

“It’s an

application

economy.”

Page 19: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

Software is Everywhere

19Photo courtesy of Bill Abbott via Flickr

Page 20: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

20Photo courtesy of Naddsy via Flickr

Page 21: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

21

Page 22: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

This wasn’t a one off….

2222

Page 23: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

23

How Do You Deliver Better Software Faster?

ProdDev

Page 24: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

We need

24

a process that ensures quality

executes reliably and quickly

delivers value early

Page 25: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

We need

25

to automate

Page 26: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

We need

26

an automated pipeline

Page 27: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

Typical Linear Pipeline

27

Page 28: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

28

Jenkins Pipeline Job

Page 29: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

Pipeline Job Type

29

Page 30: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

30

Page 31: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

Showing progress and history

31

Page 32: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

32

We can optimise this

Page 33: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

Optimised Pipeline

33

Page 34: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

34

Page 35: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

Pipeline Stage View

35

Page 36: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

36

We’re done ?

Page 37: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

37

commit change

Page 38: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

38

trigger the process

Page 39: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

39

verify quality

Page 40: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

40

and release!!

Page 41: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

41

But wait….

Page 42: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

42

single component

Page 43: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

43

or microservice

Page 44: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

Only true if

44

tests are thorough

independently releasable

no breaking changes for consumers

Page 45: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

45

a system is comprised ofmultiple apps /components

Page 46: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

46

have dependencies

Page 47: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

47

new feature

provided by new/updated interface

require min version

Page 48: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

48

system level concerns:

performance test

functional test

Page 49: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

49

embedded systems : firmware image

Page 50: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

50

???

Page 51: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

51

assembly build

Page 52: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

52

release pipeline

Page 53: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

Release Pipeline

53

Page 54: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

54

Release Pipeline

Page 55: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

55

Page 56: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

56

another manual step?

Page 57: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

57

which versions?

Page 58: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

58

wrong build = regression

Page 59: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

59

automated trigger from upstream?

Page 60: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

60

use build step

Page 61: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

61

build job: 'release-build', parameters: [

[$class: 'StringParameterValue', name:

'component1', value: comp1ver],

[$class: 'StringParameterValue', name:

'component2', value: comp2ver],

[$class: 'StringParameterValue', name:

'component3', value: comp3ver]

], wait: false

Page 62: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

62

need build numbers for each component

Page 63: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

63

null = lastSuccessfulBuild?

Page 64: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

64

inspect deployed system?

Page 65: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

65

Page 66: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

Manifest

66

n. cargo-list for use of Customs officers; list of passengers in aircraft or of trucks etc. in goods train

Oxford English Dictionary

Page 67: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

67

Page 68: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

68

what’s in the manifest?list of components and versions

Page 69: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

69

#Tue Mar 01 23:11:41 GMT 2016

mobile-deposit-api=1.0.0-21

mobile-deposit-ui=1.0.0-4

Page 70: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

70

read/write manifest

Page 71: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

71

Page 72: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

72

where to store the manifest?

Page 73: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

73

jenkins build workspacescm

Jenkins build artifactexternal file systemartifact repository

Page 74: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

74

Page 75: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

75

are we done?

Page 76: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

76

cost of environmentsparallel or single build?

sequencing

Page 77: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

77

queuing theory

Page 78: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

78

number of upstreamsupstream build freq

release-build trigger raterelease-build duration

wait time

Page 79: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

79

batching

Page 80: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

Batching

80

Page 81: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

81

jenkins queues buildspipeline stage concurrency

concurrency rule skips builds

Page 82: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

82

works with scmusing Jenkins artifacts needs

additional step

Page 83: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

83

manifest update async to release-build

Page 84: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

84

Page 85: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

85

manifest-update

Page 86: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

86

Page 87: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

87

release-build

Page 88: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

88

handling the deployment

Page 89: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

89

Page 90: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

90

re-deploy allcompare with running

Page 91: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

91

Page 92: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

92

re-deploy allcompare with runningcompare with manifest

Page 93: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

93

Page 94: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

94

re-deploy allcompare with runningcompare with manifest

Page 95: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

95

manifest

updates

Page 96: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

96

demo

Page 97: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

Demo job flow

97

Page 98: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

98

conclusion

Page 99: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

99

pipelines ≠ linearassembly:multi-component

build fan-intrigger downstreamtrack with manifests

Page 100: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

100

Pipeline job type

Page 101: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

101

immutable versions – single binary

Page 102: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

How to get started

• Install pipeline plugin

– https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin

• Read the docs

– https://documentation.cloudbees.com/docs/cookbook/_conti

nuous_delivery_with_jenkins_pipeline.html

• Dzone ref card

– https://dzone.com/refcardz/continuous-delivery-with-jenkins-

workflow

• Download the mobile-api projects (qcon branches)

– https://github.com/harniman/mobile-deposit-api/tree/qcon

– https://github.com/harniman/mobile-deposit-api/tree/qcon

– https://github.com/harniman/mobile-deposit-

release/tree/qcon

102

Page 103: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

Get Certified!

103

Be recognized for your Jenkins skills

Differentiate yourself from your peers

Increase your value to your employer

Hiring Managers can more easily identify qualified candidates

Learn more, register and get the Study Guides:https://www.cloudbees.com/jenkins-certification

Page 104: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

104

Table 12 on Level 3

Page 105: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

201

5 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

d

Thank you

and questions!!

www.cloudbees.com

[email protected]

@harniman

Page 106: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

20

15

Clo

ud

Bee

s, In

c. A

ll R

igh

ts R

eser

ved

Page 107: Realworld CD Pipelines - QCon London 2020 · 2016-04-05 · Realworld CD Pipelines It’s not always a linear stream Nigel Harniman. 2016 s d About me 2 Nigel Harniman @harniman Build

© 2

01

6 C

lou

dB

ees,

Inc.

All

Rig

hts

Res

erve

20

15

Clo

ud

Bee

s, In

c. A

ll R

igh

ts R

eser

ved