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

Jenkins Enterprise by CloudBees Webinar

Embed Size (px)

DESCRIPTION

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

Citation preview

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