Docker and Jenkins. Orchestrating Continuous Delivery
Through the use of build pipelines, Continuous Delivery will enable faster and more frequent build, test and deployment cycles of software.
To ensure that what you are delivering has the required quality: how do we build a continuous delivery pipeline in the real world?
In this session, instead of relying on static step configurations, we are going to demonstrate how to code a pipeline using Jenkins and Gradle and how Docker can help on this task. The end result is faster application releases with higher quality.
24. J E N K I N S :
D O C K E R
A N D
C D
Docker
Hub
Notification:
triggers
downstream
jobs
when
a
tagged
container
is
pushed
to
Docker
Hub
alexsotob lordofthejars
25. J E N K I N S :
D O C K E R
A N D
C D
Docker
Hub
Notification:
triggers
downstream
jobs
when
a
tagged
container
is
pushed
to
Docker
Hub
Docker
Traceability:
identifies
which
build
pushed
a
particular
container,
displays
on
Jenkins
builds
page
alexsotob lordofthejars
26. J E N K I N S :
D O C K E R
A N D
C D
Docker
Hub
Notification:
triggers
downstream
jobs
when
a
tagged
container
is
pushed
to
Docker
Hub
Docker
Traceability:
identifies
which
build
pushed
a
particular
container,
displays
on
Jenkins
builds
page
Docker
Custom
Build
Environment:
specifies
customized
build
environments
as
Docker
containers
alexsotob lordofthejars
27. J E N K I N S :
D O C K E R
A N D
C D
Docker
Hub
Notification:
triggers
downstream
jobs
when
a
tagged
container
is
pushed
to
Docker
Hub
Docker
Traceability:
identifies
which
build
pushed
a
particular
container,
displays
on
Jenkins
builds
page
Docker
Custom
Build
Environment:
specifies
customized
build
environments
as
Docker
containers
Docker:
use
a
docker
host
to
dynamically
provision
a
slave,
run
a
single
build,
then
tear-down
alexsotob lordofthejars
28. J E N K I N S :
D O C K E R
A N D
C D
Docker
Hub
Notification:
triggers
downstream
jobs
when
a
tagged
container
is
pushed
to
Docker
Hub
Docker
Traceability:
identifies
which
build
pushed
a
particular
container,
displays
on
Jenkins
builds
page
Docker
Custom
Build
Environment:
specifies
customized
build
environments
as
Docker
containers
Docker:
use
a
docker
host
to
dynamically
provision
a
slave,
run
a
single
build,
then
tear-down
Build
and
Publish
:
builds
projects
that
have
a
Dockerfile
and
pushes
the
resultant
tagged
image
to
Docker
Hub
alexsotob lordofthejars
29. B U I L D ,
T E S T ,
&
D E P L O Y
D O C K E R
I M A G E
F R O M
J E N K I N S
alexsotob lordofthejars
30. D O C K E R
H U B
N O T I F I C A T I O N
P L U G I N
alexsotob lordofthejars
48. F E A T U R E S
O F
P I P E L I N E
P L U G I N
Configuration
in
Source
Repositories
49. F E A T U R E S
O F
P I P E L I N E
P L U G I N
Configuration
in
Source
Repositories
Less
click-and-type,
more
code
50. F E A T U R E S
O F
P I P E L I N E
P L U G I N
Configuration
in
Source
Repositories
Less
click-and-type,
more
code
From
simple
to
complex
51. F E A T U R E S
O F
P I P E L I N E
P L U G I N
Configuration
in
Source
Repositories
Less
click-and-type,
more
code
From
simple
to
complex
Survives
Jenkins
restarts
&
connection
losses
($)
52. F E A T U R E S
O F
P I P E L I N E
P L U G I N
Configuration
in
Source
Repositories
Less
click-and-type,
more
code
From
simple
to
complex
Survives
Jenkins
restarts
&
connection
losses
($)
Reusable
Definitions
53. F E A T U R E S
O F
P I P E L I N E
P L U G I N
Configuration
in
Source
Repositories
Less
click-and-type,
more
code
From
simple
to
complex
Survives
Jenkins
restarts
&
connection
losses
($)
Reusable
Definitions
Build
history/trend
segregated
per
branches
54. F E A T U R E S
O F
P I P E L I N E
P L U G I N
Configuration
in
Source
Repositories
Less
click-and-type,
more
code
From
simple
to
complex
Survives
Jenkins
restarts
&
connection
losses
($)
Reusable
Definitions
Build
history/trend
segregated
per
branches
UI
($
->
OSS)
66. L E T ' S
W I N D
D O W N
alexsotob lordofthejars
67. C O N C L U S I O N S
Automation
is
the
Key
alexsotob lordofthejars
68. C O N C L U S I O N S
Automation
is
the
Key
Docker
Simplifies
Environment
Problems
alexsotob lordofthejars
69. C O N C L U S I O N S
Automation
is
the
Key
Docker
Simplifies
Environment
Problems
Jenkins
is
Ready
For
Docker
and
CD
alexsotob lordofthejars
70. C O N C L U S I O N S
Automation
is
the
Key
Docker
Simplifies
Environment
Problems
Jenkins
is
Ready
For
Docker
and
CD
Pipleline
as
Code
gives
you
Freedom
alexsotob lordofthejars
71. O N L Y
O N E
P I E C E
O F
T H E
J I G S A W
alexsotob lordofthejars
72. F O L L O W
T H E
R U L E S ,
A D A P T
T O
Y O U R
N E E D S
alexsotob lordofthejars