Upload
cloudbees
View
1.382
Download
2
Tags:
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
©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
©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
©2010 CloudBees, Inc. All Rights Reserved
3 ©2010 CloudBees, Inc. All Rights Reserved
©2010 CloudBees, Inc. All Rights Reserved
4 ©2010 CloudBees, Inc. All Rights Reserved
Most adopted CI server
524
180
61
56
23
9
0 200 400 600
Jenkins
Hudson
Bamboo
TeamCity
CruiseControl
Continuum
79
17
13
10
2
2
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?
©2010 CloudBees, Inc. All Rights Reserved
5 ©2010 CloudBees, Inc. All Rights Reserved
Situation
©2011 CloudBees, Inc. All Rights Reserved
82% 92%
©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%
©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%
©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 … }
©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
©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
©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
©2010 CloudBees, Inc. All Rights Reserved
12 ©2010 CloudBees, Inc. All Rights Reserved
©2011 CloudBees, Inc. All Rights Reserved
©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
©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
©2010 CloudBees, Inc. All Rights Reserved
What’s new in 2011.10?
©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
©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
©2010 CloudBees, Inc. All Rights Reserved
18 ©2010 CloudBees, Inc. All Rights Reserved
Skip Next Build
©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
©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
©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
©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
©2010 CloudBees, Inc. All Rights Reserved
Demo: views in folders
©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?
©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
©2010 CloudBees, Inc. All Rights Reserved
Demo: Hello World Builder
©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
©2010 CloudBees, Inc. All Rights Reserved
Demo: Hello World Job
©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
©2010 CloudBees, Inc. All Rights Reserved
30 ©2010 CloudBees, Inc. All Rights Reserved
More on templating
• Inheritance & composition Car
Engine
Transmission
Automatic
Manual
©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
©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
©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
©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
©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
©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
©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
©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
©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
©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
©2010 CloudBees, Inc. All Rights Reserved
Demo
©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
©2010 CloudBees, Inc. All Rights Reserved
Q&A