jenkins best practices meetup slides

31
Jenkins Best Practices By Gergely Brautigam

Upload: gergely-brautigam

Post on 07-Jan-2017

191 views

Category:

Engineering


2 download

TRANSCRIPT

Page 1: Jenkins Best Practices Meetup Slides

Jenkins Best PracticesBy Gergely Brautigam

Page 2: Jenkins Best Practices Meetup Slides

Links

• Github: https://github.com/Skarlso/jenkinsbestpractices

• Docker Hub: https://hub.docker.com/r/skarlso/jenkinsbestpractices/

Page 3: Jenkins Best Practices Meetup Slides

Basics — UIhttps://wiki.jenkins-ci.org/display/JENKINS/Simple+Theme+Plugin

Page 4: Jenkins Best Practices Meetup Slides

Before Simple Theme Plugin

http://www.metecs.com/assets/images/capabilities/jenkins-screenshot.png

Page 5: Jenkins Best Practices Meetup Slides

After Simple Theme Plugin + Material Theme

http://jenkins-contrib-themes.github.io/jenkins-material-theme/images/screenshot-jenkins-theme-material-main-large.png

Page 6: Jenkins Best Practices Meetup Slides

Basics - Config Histroyhttps://wiki.jenkins-ci.org/display/JENKINS/JobConfigHistory+Plugin

Page 7: Jenkins Best Practices Meetup Slides

Diff for your config

Page 8: Jenkins Best Practices Meetup Slides

Basics - Rebuildhttps://wiki.jenkins-ci.org/display/JENKINS/Rebuild+Plugin

Page 9: Jenkins Best Practices Meetup Slides

Rebuild Your Previous Job

Page 10: Jenkins Best Practices Meetup Slides

Basics - Mask Passwordhttps://wiki.jenkins-ci.org/display/JENKINS/Mask+Passwords+Plugin

Page 11: Jenkins Best Practices Meetup Slides

No more leak in the Logs

Page 12: Jenkins Best Practices Meetup Slides

Advanced - Foldershttps://wiki.jenkins-ci.org/display/JENKINS/CloudBees+Folders+Plugin

Page 13: Jenkins Best Practices Meetup Slides

Folders For Branching

Page 14: Jenkins Best Practices Meetup Slides

Usages For Folders

• Orignizing

• Clean workspace and environment

• All views is not cluttered — while with views it still is

• Branches — combined with the next one…

Page 15: Jenkins Best Practices Meetup Slides

Advanced — DSLhttps://wiki.jenkins-ci.org/display/JENKINS/Job+DSL+Plugin

Page 16: Jenkins Best Practices Meetup Slides

Never use the configuration screen again

Page 17: Jenkins Best Practices Meetup Slides

Single Seed Job To Rule Them All

Page 18: Jenkins Best Practices Meetup Slides

Branching with DSL + Folders• Job’s groovy file lives next to the source code

Page 19: Jenkins Best Practices Meetup Slides

Advanced - MultiJobhttps://wiki.jenkins-ci.org/display/JENKINS/Multijob+Plugin

Page 20: Jenkins Best Practices Meetup Slides

Parallel Test Runs With Multijob

Page 21: Jenkins Best Practices Meetup Slides

Expert - Pretested Integration

https://wiki.jenkins-ci.org/display/JENKINS/Pretested+Integration+Plugin

Page 22: Jenkins Best Practices Meetup Slides

Branch Setup

Page 23: Jenkins Best Practices Meetup Slides

Pretest Setup

Page 24: Jenkins Best Practices Meetup Slides

Push local branch to ready branch

• git push origin BFG-321:ready/BFG-321

Page 25: Jenkins Best Practices Meetup Slides

Expert - Pipelines + Jenkins 2.0

• Everything you saw here — integrated

• Pipeline — Previously known as workflow

Page 26: Jenkins Best Practices Meetup Slides

Pipeline - Jenkinsfile

Page 27: Jenkins Best Practices Meetup Slides

Pipeline

Page 28: Jenkins Best Practices Meetup Slides

Pipelines - MultiBranch Fetch configuration

Page 29: Jenkins Best Practices Meetup Slides

Pipelines - MultiBranch - Run builds

Only builds branches which have ‘Jenkinsfile’ at root

Page 30: Jenkins Best Practices Meetup Slides

Bonus Round

• Packer / Vagrant / Docker provisioning of build slaves

• Configuration management for credentials

• Load Balancing Jenkins slaves

Page 31: Jenkins Best Practices Meetup Slides

Thank you for listening!

• Github: https://github.com/Skarlso/jenkinsbestpractices

• Docker Hub: https://hub.docker.com/r/skarlso/jenkinsbestpractices/