28
voxxeddays.com/luxembourg/ #voxxeddaysLU Jenkins 2.0 et Pipeline-as-code: Que se passe-t-il ? Damien DUPORTAL [email protected] @DamienDuportal

Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

Embed Size (px)

Citation preview

Page 1: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Jenkins 2.0 et Pipeline-as-code: Que se passe-t-il ?

Damien [email protected]@DamienDuportal

Page 2: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Jenkins ?

Page 3: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

About Jenkins

• Open-Source automation server, built on the JVM with hundreds of plugins

ExtensibleOpenSource EasytoStart

Page 4: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Jenkins is popular

0

1 000 000

2 000 000

3 000 000

4 000 000

5 000 000

6 000 000

7 000 000

0

20 000

40 000

60 000

80 000

100 000

120 000

11/1/2008 11/1/2009 11/1/2010 11/1/2011 11/1/2012 11/1/2013 11/1/2014

Active JenkinsInstallationsWorldwide

Total JenkinsJobsWorldwide

http://www.infoq.com/research/ci-server http://stats.jenkins-ci.org/jenkins-stats

Page 5: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Easy to start

Page 6: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Extensible

Over1100JenkinsPlugins

Integrationwithover100DevOps Tools

OrchestrationoftheDevOpsToolchain

End-to-EndCDPipelineManagement

Code&Commit Build&Config Scan&Test Release Deploy

Page 7: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Jenkins 2.0 ?

Page 8: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Let’s build something…… with Jenkins 1.x

Page 9: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Pipelines in Jenkins 1.x

• Create jobs

• Trigger “downstream” jobs for next stage

• Easy!

Page 10: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Pipelines in Jenkins 1.x

Page 11: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Pipelines in Jenkins 1.x

Page 12: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Pipelines in Jenkins 1.x

Page 13: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Pipelines in Jenkins 1.x

Page 14: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Pipelines in Jenkins 1.x

Page 15: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Pipelines in Jenkins 1.x

Page 16: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Easy !… not really

Page 17: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

• Launched on 26 April 2016

Jenkins 2.0

Page 18: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

New Jenkins.io

● Modern platform and UI

● Easier to use

● 1-2-3-4 Quickstart

● Centralized Documentation

● Solution-oriented Use Cases

● Events listings

Page 19: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

2.0 Themes• Improved “out of the box” user experience

• Drop-in replacement for 1.x

• Pipeline as code: front and center

jenkins-ci.org/content/jenkins-20-proposals

Page 20: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Let’s discover Jenkins 2.x !

Page 21: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Pipeline-as-code ?MaC: Mario as Code

Page 22: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Pipeline as Code• Introduce “pipeline” as a new type in Jenkins

• Codify an implicit series of stages/steps directly in your job definition or into an explicit Jenkinsfile in your/a source repository

•Built-in global library to share Pipeline scripts, functions, variables across jobs on your master.

• Extend the DSL with your own steps.

•Durable tasks keep running while the Jenkins master restarts.

22

Page 23: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Pipeline MultiBranchMaster

FeatureBranch1

FeatureBranch2

MasterPipelineJob

FB1PipelineJob

FB2PipelineJob

Page 24: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Let’s build something…… with Jenkins 2.x !

Page 25: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

The Road Beyond…

• Blue Ocean, A new user experience for Jenkins -https://jenkins.io/projects/blueocean/

• Continuous Delivery

• User Experience

• Scalability & Availability

Page 26: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Page 27: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Where to start ?• Jenkins.io:

• https://jenkins.io/2.0/• https://jenkins.io/doc/pipeline/

• Demos:• https://github.com/jenkins-demo• https://github.com/jenkinsci/pipeline-examples

• CloudBees• Website: https://www.cloudbees.com• CloudBees Jenkins Platform:

• https://www.cloudbees.com/products/cloudbees-jenkins-platform• This Demo code: https://github.com/dduportal/voxxed-lu-2016• Participate in the community !

Page 28: Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code

voxxeddays.com/luxembourg/ #voxxeddaysLU

Thank you ! Questions ?

Thanks to CloudBees people for the support: Arnaud Heritier, Adrien Lecharpentier,Nicolas DeLoof and Jean-Philipe Briend