juc dc 2015: jenkins workflow: what’s up?

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

Upload: jgcloudbees

Post on 06-Aug-2015

879 views

Category:

Technology


0 download

TRANSCRIPT

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

CloudBees

#jenkinsconf

What is Workflow?

2

Footer

#jenkinsconf

Why?

3

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

#jenkinsconf

Improvements since 1.0

5

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

#jenkinsconf

Features in 1.609.x LTS

7

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

Footer

#jenkinsconf

Better executor handling

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

9

#jenkinsconf

Docker

10

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

#jenkinsconf

Future directions

12

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

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

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

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

16