Top Banner
Jenkins Workflow: What’s Up? Jesse Glick (@tyvole) CloudBees
16
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: JUC DC 2015: Jenkins Workflow: What’s Up?

Jenkins Workflow: What’s Up?Jesse Glick (@tyvole)

CloudBees

Page 2: JUC DC 2015: Jenkins Workflow: What’s Up?

#jenkinsconf

What is Workflow?

2

Page 3: JUC DC 2015: Jenkins Workflow: What’s Up?

Footer

#jenkinsconf

Why?

3

Page 4: JUC DC 2015: Jenkins Workflow: What’s Up?

Footer

#jenkinsconf

Scriptable builds

• Entire build/deploy pipeline in one legible script• Groovy script calls pluggable steps to:

• grab Jenkins slaves• check out sources• run external build tools• launch other jobs• wait for approval• …much more

• Build can survive a Jenkins restart4

Page 5: JUC DC 2015: Jenkins Workflow: What’s Up?

#jenkinsconf

Improvements since 1.0

5

Page 6: JUC DC 2015: Jenkins Workflow: What’s Up?

Footer

#jenkinsconf

Monthly releases

• load whole script from SCM• improved build step useful for migrating to Workflow• better handling of environment variables• a big flurry of fixes in March

6

Page 7: JUC DC 2015: Jenkins Workflow: What’s Up?

#jenkinsconf

Features in 1.609.x LTS

7

Page 8: JUC DC 2015: Jenkins Workflow: What’s Up?

Footer

#jenkinsconf

Build wrappers

• New wrap step• offers easy-ish compatibility for plugins

• Set environment variables, clean up, edit build log• Known implementations:

• Xvnc (live)• Timestamper (pending 1.6.3 release)• Config Files (proposed)• Mask Passwords (proposed)

• or use Credentials Binding8

Page 9: JUC DC 2015: Jenkins Workflow: What’s Up?

Footer

#jenkinsconf

Better executor handling

• Safe restart while flow running• Hide flow’s master “executor” when idle• Minimize native thread usage

9

Page 10: JUC DC 2015: Jenkins Workflow: What’s Up?

#jenkinsconf

Docker

10

Page 11: JUC DC 2015: Jenkins Workflow: What’s Up?

Footer

#jenkinsconf

CloudBees Docker Workflow

• Simple entry point to Docker-related functions• Running builds inside a container

• replaces elaborate Jenkins slave setups• Build images from source• Run images in test containers• Push to private Docker registry

11

Page 12: JUC DC 2015: Jenkins Workflow: What’s Up?

#jenkinsconf

Future directions

12

Page 13: JUC DC 2015: Jenkins Workflow: What’s Up?

Footer

#jenkinsconf

Plugin compatibility

• Critical integrations• build triggers (GitHub webhook, …)• SCMs• publishers (“post-build actions”)

• Nice to have• builders (sometimes can roll your own)• wrappers (SSH Agent, …)• misc. plugin features (Shelve, …)

13

Page 14: JUC DC 2015: Jenkins Workflow: What’s Up?

Footer

#jenkinsconf

Proposed major features

• syntax completion for IDEs• Matrix Project replacement• check out matching commit• wait/notify• multibranch• more load-script-from-SCM options• Groovy-based extensions

14

Page 15: JUC DC 2015: Jenkins Workflow: What’s Up?

Footer

#jenkinsconf

Fixes fixes fixes

• robustness• “hard kill” targeted for 1.9

• little missing features• non-concurrent builds for 1.9• labeled block perhaps for 1.9

• and ~195 other candidates!

15

Page 16: JUC DC 2015: Jenkins Workflow: What’s Up?

Jenkins World Tour 2015Washington D.C., June 2015

16