jenkins @ scale · jenkins pipeline suite of plugins which supports implementing and integrating...

29
Jenkins @ Scale EclipseCon France 2017 Michaël Pailloncy - Baptiste Mathus

Upload: others

Post on 22-May-2020

19 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

Jenkins @ ScaleEclipseCon France 2017

Michaël Pailloncy - Baptiste Mathus

Page 2: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

● Software Developer & Automation addict● DevOps Automation/Tools Engineer ● OSS contributor

https://jenkins.io

Michaël Pailloncy

● Passionate about Agile, Devops & Continuous Delivery, and all things Automation

● Jenkins & MojoHaus Committer● Lengthy-reply generator

● Software Developer @

Baptiste Mathus

Page 3: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

Jenkins History In Short

● 2005 : Kohsuke Kawaguchi creates Hudson

● 2011 : Oracle forks the project,

the community renames to Jenkins.

● 2016 : Jenkins 2

Page 4: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More
Page 5: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

Typical Jenkins Setup

Page 6: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

DEMO

Page 7: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More
Page 8: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

0 executor on Master

For SECURITY

and

STABILITY

Page 9: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More
Page 10: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

Source: https://blog.newrelic.com/2016/02/04/data-culture-survey-results-faster-deployment/

53%

81%

Page 11: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

Continuous Integrationhas become standard,

Continuous Deliveryis where differentiation now lies

Page 12: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More
Page 13: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

How can we scale cleanly and securely?

REPRODUCIBILITY >>> SPEED

Dynamic agent provisioning

One shot agents

Page 14: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

BABY STEPS

Page 15: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More
Page 16: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

I want to map my actual process to code!

Page 17: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

OK, so what if?

Page 18: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

I want

Parallel builds, for realFail fast

Human inputs

Good usability and visualization

Robustness

Page 19: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

“Simple things should be simpleComplex things should be possible

“– Alan Kay

Page 20: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

Jenkins Pipeline & Blue Oceanhttps://www.flickr.com/photos/compacflt/9510971787/

Page 21: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

Some statistics...

Number of Jenkins pipelines

Blue Ocean plugin installations count

Page 22: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

Jenkins Pipeline

Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins

● Scripted Pipeline: The OriginalⓇ

○ More programmatic○ Mature○ but more complex

● Declarative Pipeline○ Opinionated○ Younger, 1.0 is 6 months old

Page 23: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

Jenkins Pipeline

Configuration As Code

Jenkinsfile lets you version your Pipeline with the code

Page 24: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

Blue Ocean

Rethinks the User Experience of Jenkins

Makes visualization a breath

Especially integrated with Pipeline

Page 25: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

DEMO

Page 26: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

About Pipeline robustness

Orchestration engine runs on the Master !

Uses Continuation Passing Style

Page 27: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

Enable sandbox

For SECURITY

and

STABILITY(yes, again)

Page 28: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

Wrapping up

● You need to go faster!

● Agents are transient : throw them away

● Use labels, never ever node names in jobs

● Use Jenkins less, keep things simple

● Start simple, remember John Gall :-)

Page 29: Jenkins @ Scale · Jenkins Pipeline Suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins Scripted Pipeline: The OriginalⓇ More

?