Jenkins Enterprise by CloudBees Webinar

43
©2010 CloudBees, Inc. All Rights Reserved ©2010 CloudBees, Inc. All Rights Reserved Jenkins Enterprise by CloudBees Kohsuke Kawaguchi Harpreet Singh Jan 10 th , 2012 ©2011 Cloud Bees, Inc. All Rights Reserved

description

New plugins that enhance security, help to manage Jenkins installations and optimize resource utilization, both on-premise and in the cloud.

Transcript of Jenkins Enterprise by CloudBees Webinar

Page 1: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

©2010 CloudBees, Inc. All Rights Reserved

Jenkins Enterprise by CloudBees Kohsuke Kawaguchi Harpreet Singh Jan 10th, 2012

©2011 Cloud Bees, Inc. All Rights Reserved

Page 2: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

2 ©2010 CloudBees, Inc. All Rights Reserved

• Jenkins Enterprise by CloudBees – Introduction – Overview

• Jenkins Enterprise by CloudBees – Deep Dive

Agenda

©2011 CloudBees, Inc. All Rights Reserved 

Page 3: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

3 ©2010 CloudBees, Inc. All Rights Reserved

Page 4: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

4 ©2010 CloudBees, Inc. All Rights Reserved

Most adopted CI server

524 

180 

61 

56 

23 

0 200 400 600

Jenkins

Hudson

Bamboo

TeamCity

CruiseControl

Continuum

79 

17 

13 

10 

0 20 40 60 80

Jenkins

Hudson

Bamboo

TeamCity

Pulse

Travis

30% 32% Maven Jenkins 

Source: Eclipse Community Survey 2011 

Devoxx  Nov 2011 

Ongoing poll by John Smart, early 2011 

What build & release management products do you typically use? 

Page 5: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

5 ©2010 CloudBees, Inc. All Rights Reserved

Situation

©2011 CloudBees, Inc. All Rights Reserved 

82% 92% 

Page 6: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

6 ©2010 CloudBees, Inc. All Rights Reserved

Complication

©2011 CloudBees, Inc. All Rights Reserved 

87% * Numbers added for the top 3  priority responses in Jenkins Survey 

72% 

Page 7: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

7 ©2010 CloudBees, Inc. All Rights Reserved

Implication

©2011 CloudBees, Inc. All Rights Reserved 

Better job chaining 

make building a plugin easier 

Better admin tols/plugin 

Pre‐commit requirement 

more detailed examples 

Better QA. There seems to be a lot of regressions. 

Server recommendations Better uptime 

Better UI. 

Provide video tutorials. 

Easily manage build jobs for different branches from a single configuration.  

Sooner updates in Jenkins plugins! Create a mobile app. 

72% 

Page 8: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

8 ©2010 CloudBees, Inc. All Rights Reserved

Introducing Jenkins Enterprise by CloudBees

©2011 CloudBees, Inc. All Rights Reserved 

Position   Longer Term Support and Enterprise‐y Plugins 

Benefit   Fast issue resolutions & greatly improved management 

Action   evaluate (support){     // meets my organizational needs     …    }          evaluate (plugins){     // makes my life easier     …   } 

Page 9: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

9 ©2010 CloudBees, Inc. All Rights Reserved

• In a nutshell – Subscription – Technical support + Value-add plugins

• Current Themes – For large installations – Security for enterprise – Optimized utilization

• Upcoming Themes – HA – Reporting

Jenkins Enterprise by CloudBees

Page 10: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

10 ©2010 CloudBees, Inc. All Rights Reserved

©2011 CloudBees, Inc. All Rights Reserved 

Jenkins Enterprise Themes and Plugins

Large Installation 

• Folders • Templates • Backup 

Security 

• Roles‐based Access Control 

• Wikitext Descriptions 

Optimized Utilization 

• Auto‐scaling for VMWare installations 

• Throttled Build Execution 

• Even Load Strategy 

• Skip Next Build 

Page 11: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

11 ©2010 CloudBees, Inc. All Rights Reserved

Jenkins LTS • Jenkins weekly too

often • Addressed by LTS

– ~ every 3 months

• If you are not on it…you should be!

JE by CloudBees • LTS supported for 9

additional months – Orgs can be on LTS for 1

year.

• Orgs get support on Jenkins and not on a proprietary release

Longer term support

©2011 CloudBees, Inc. All Rights Reserved 

Page 12: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

12 ©2010 CloudBees, Inc. All Rights Reserved

©2011 CloudBees, Inc. All Rights Reserved 

Page 13: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

13 ©2010 CloudBees, Inc. All Rights Reserved

Jenkins Enterprise = LTS + plugins

• No forked codebase – All changes pushed to upstream now – You can move between main line, LTS, and

JE without a loss

• Version number reflects this

1.424.1.1 

Page 14: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

14 ©2010 CloudBees, Inc. All Rights Reserved

Using CloudBees plugins on OSS Jenkins

• If you want to stay on the mainline for new features, that’d be fine with us!

• Install CloudBees update center as 2nd update center – 1.437 or later required – Run a script* from Groovy Console

* https://raw.github.com/cloudbees/ride‐jenkins/master/ride‐jenkins.groovy 

Page 15: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

What’s new in 2011.10?

Page 16: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

16 ©2010 CloudBees, Inc. All Rights Reserved

Even load scheduler

• Jenkins assigns jobs to where it run before – Many reasons to do this: SCM checkouts,

warm local cache (Maven/ivy/gems) • But this can create uneven load

Slave 1 

Busy 

Busy 

Idle 

Slave 2 

Idle 

Idle 

Idle 

Page 17: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

17 ©2010 CloudBees, Inc. All Rights Reserved

Even load scheduler

• With this plugin… – per job or as global default

• Use this when builds aren’t sticky – If you are doing full checkout anyway – Storage is network mounted

Page 18: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

18 ©2010 CloudBees, Inc. All Rights Reserved

Skip Next Build

Page 19: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

19 ©2010 CloudBees, Inc. All Rights Reserved

Skip Next Build

• Use this when… – Large refactoring with instability – External test resources offline for

maintenance

• Similar to “disabled build” in effect but it’ll come back to normal automatically

Page 20: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

20 ©2010 CloudBees, Inc. All Rights Reserved

Recap: VMWare plugin

• ESXi or vCenter • Auto-scaling – Launches/stops VMs based on load – Automatic IP detection on boot

• Snapshot/restore handling – Helps you maintain clean slaves

Page 21: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

21 ©2010 CloudBees, Inc. All Rights Reserved

VMWare Plugin Improvements

• Jenkins will use all the machines in a vCenter folder

Page 22: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

22 ©2010 CloudBees, Inc. All Rights Reserved

More improvements

• XML/JSON API support on VMWare objects

• Load statistics graph support • UUID-based more reliable machine

tracking

Page 23: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

Demo: views in folders

Page 24: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

24 ©2010 CloudBees, Inc. All Rights Reserved

Template Plugin

• Ever had a lot of jobs that look similar? – Changing them all is painful

• Ever wanted to “lock down” the job 

setting so that devs only modify a few things?

Page 25: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

25 ©2010 CloudBees, Inc. All Rights Reserved

Template Plugin in a nutshell

• Actors – Admins: people who defines templates – Users: people who use templates

Page 26: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

Demo: Hello World Builder

Page 27: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

27 ©2010 CloudBees, Inc. All Rights Reserved

Benefits

• Templates appear as 1st class citizen – Almost the same result as writing a custom

plugin • It speaks the terms users understand – A lot more approachable for busy developers

• Updating is lot less painful

©2010 CloudBees, Inc. All Rights Reserved 

Page 28: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

Demo: Hello World Job

Page 29: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

29 ©2010 CloudBees, Inc. All Rights Reserved

More on templating

• Programmability in transformation – Via Groovy Server Page or Jelly – Conditionals, loops, function calls, …

• Models are portable – You can define it once, deploy elsewhere

Page 30: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

30 ©2010 CloudBees, Inc. All Rights Reserved

More on templating

• Inheritance & composition Car 

Engine 

Transmission 

Automatic 

Manual 

Page 31: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

31 ©2010 CloudBees, Inc. All Rights Reserved

Conclusions • Jenkins Enterprise for more Enterprise-y

features • Next Steps – Learn More

• Overview – http://www.cloudbees.com/jenkins-enterprise-by-

cloudbees.cb • User guide

– http://wiki.cloudbees.com/bin/view/Jenkins+Enterprise/WebHome

– Download • 30 day free trial

Page 32: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

32 ©2010 CloudBees, Inc. All Rights Reserved

Going larger

• Large scale automation beyond simple build/test/report – Caveat: not everything is fully cooked

• Verified component integration • Build pipeline • Workflow

Page 33: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

33 ©2010 CloudBees, Inc. All Rights Reserved

Going smaller

• Let developers use Jenkins for doing their private builds

• Validated merge – Prevent a developer error from appearing in

the trunk – AKA pre-tested commit

Page 34: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

34 ©2010 CloudBees, Inc. All Rights Reserved

Extensibility

• Many pluggable/extensible aspects – Proof is in the # of plugins

• Full lifecycle assistance to plugin development – Including assistance in IDE – From skeleton to release

• Reasonable documentation

©2010 CloudBees, Inc. All Rights Reserved 

⇒ resulted in large number of in‐house custom plugins 

Page 35: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

35 ©2010 CloudBees, Inc. All Rights Reserved

Jenkins as a platform • Extensibility enables Jenkins to be a

building block for in-house tool integration

• Many available APIs – HTTP REST, CLI, Java inter-process

remoting • Example – IOS build with Jenkins here at Cisco – Janky by GitHub

Page 36: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

36 ©2010 CloudBees, Inc. All Rights Reserved

CloudBees and Jenkins

• Sponsors OSS Jenkins development • Provides other resources – Sponsored Jenkins User Conference – Bug bounty program – Fund via donation to SPI

Page 37: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

37 ©2010 CloudBees, Inc. All Rights Reserved

CloudBees and Jenkins

• DEV@cloud – Hosted Jenkins, utility pricing model – Simplify deployment and administration

• Jenkins Enterprise by CloudBees – Subscription – Technical support + Value-add plugins

Page 38: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

38 ©2010 CloudBees, Inc. All Rights Reserved

Jenkins Enterprise by CloudBees

• In a nutshell – Subscription – Technical support + Value-add plugins

• Themes – For large installations – Security for enterprise – Optimized utilization

Page 39: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

39 ©2010 CloudBees, Inc. All Rights Reserved

Jenkins LTS • Jenkins weekly too

often • Addressed by LTS

– ~ every 3 months

• If you are not on it…you should be!

JE by CloudBees • LTS supported for 9

additional months – Orgs can be on LTS for 1

year. – Mitigating risks

• Orgs get support on Jenkins and not on a proprietary release – Mitigating risks

Long..er term support

©2011 CloudBees, Inc. All Rights Reserved 

Page 40: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

40 ©2010 CloudBees, Inc. All Rights Reserved

• Hierarchical Folders – Organize jobs into a tree structure – Simple security enforcement

• Role-based Access Control – Split access control from job configuration –Work with indifferent IT ops

• Templates – Make your Jenkins “speak” org-specific

terms and build processes

Value-add Plugins

©2011 CloudBees, Inc. All Rights Reserved 

Page 41: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

Demo

Page 42: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

42 ©2010 CloudBees, Inc. All Rights Reserved

• Auto-scaling with VMWare ESXi/vCenter • New scheduler algorithm that prefers

more even loading • Hypervisor-aware build throttling • WikiText for XSS prevention • Backup

… and more

©2011 CloudBees, Inc. All Rights Reserved 

Page 43: Jenkins Enterprise by CloudBees Webinar

©2010 CloudBees, Inc. All Rights Reserved

Q&A