Upload
kohsuke-kawaguchi
View
1.853
Download
1
Embed Size (px)
DESCRIPTION
This is the talk we gave in Jenkins User Conference 2013 Palo Alto about good things coming from CloudBees for the Jenkins community. - Literate builds (OSS Jenkins plugin) - Mobile development (including OS X build slaves) - Multi-master
Citation preview
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Jenkins at 3 Years:Literate, Mobile, Multi-Branch & More!
Harpreet SinghKohsuke KawaguchiCloudBees, Inc.
@jenkinsconf
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
♥
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Automate!
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
CI Configuration?
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Demo
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
literate-api scm-api
branch-api
literate
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
scm-api
• Discovering branches & revisions– Mercurial, Git, Subversion– GitHub pull requests?– Code reviews?
• Virtual File System for peeking contents
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
branch-api
• Multi-branch project– Doesn’t care what per-branch project looks like– Multi-branch freestyle project?
• Various strategies– Dead branch trimming– Throttling– Trustworthiness
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
literate-api
• Not dependent on Jenkins• Custom project definition parser– YAML? XML?
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Credit: http://commons.wikimedia.org/wiki/File:Tree_logo.png
Multi-branch+
Freestyle
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Credit: http://commons.wikimedia.org/wiki/File:Tree_logo.png
Multi-branch+
Template
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Credit: http://commons.wikimedia.org/wiki/File:Tree_logo.png
Multi-branch+
Copy Example
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
♥
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
♥
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
cloudbees.com/mobile-paas
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Vessel.io plugin
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
BlazeMeter plugin
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
App.io plugin
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
SOASTA CloudTest plugin
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Demo
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Fully Elastic
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
XCode plugin improvement
x.developerprofile
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf cloudbees.com/osx
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
http://www.flickr.com/photos/66598477@N07/6065295630/
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Mansion
Slave Slave
Slave Slave
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Maven
Git
An
t
Merc
uria
l
Gra
dle
Su
bvers
ion
Linux Kernel
Hardware
Linux Container = zero cost virtualization
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
For OSX
Maven
Git
XC
od
e
Git
XC
od
e
Su
bvers
ion
OS X OS X OS X
QEMU QEMU QEMU
Linux Kernel
Apple Hardware
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Kernel Same-page Merging
OS X OS X OS X
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Mansion
Slave
Slave
Slave
Workspace 1
Workspace 2
Workspace 3
Workspace 4
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Slave
Slave
Workspace
Workspace’’
Workspace’
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Slave
Slave
~/.m2/repository
~/.m2/repository
~/.m2/repository
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
IN OTHER NEWS…
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Issues moving to Jenkins in the cloud
“How do I access resources in my data center?”
“How do I… run builds on a custom stack; leverage my existing hardware?”
“How do I… make use of my AMIs on EC2; stop managing Jenkins master when I go to the Amazon cloud?”
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Jenkins Hybrid
EC2 Executors
“How do I… make use of my AMIs on EC2; stop managing Jenkins master when I go to the Amazon cloud?”
“How do I… run builds on a custom stack; leverage my existing hardware?”
= +
On-premise Executors
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Jenkins Hybrid
= +
EC2 Executors On-premise Executors
+
VPN to Jenkins
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Jenkins VPN Plugin
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Jenkins grows virally …that’s good right?
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
I would like to…Share Executors
“Why should I buy new machines when there are machines in my company?”
Engineering
QA
Operations
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
I would like to…Setup security– Security Realm– Roles
Easily navigate between masters
Engineering
QA
Operations
ops.cloudbees.comeng.cloudbees.com
qe.cloudbees.com
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Introducing Jenkins Multi-master
Set of plugins installed on Jenkins
Slaves shared between masters
Push security configuration to masters
SSO between masters
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Multi-master
Engineering
QA
Operations
Multi-master Server
Roles and
Security Realm
mm.cloudbees.com
mm.cloudbees.com/qa
mm.cloudbees.com/eng mm.cloudbees.com/ops
Multi-master client
Multi-master client Multi-master client
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Multi-master benefits
Central DashboardSharing resourcesScale out Jenkins– add more masters instead of adding
executors to a single master
Multi-master server failure will keep builds running on the multi-master client master
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Thank You To Our SponsorsPlatinum
Gold
Silver
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
IN OTHER NEWS…<INSERt NEWSPAPER GRAPHIC>
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
In your own Jenkins, soon
Mansion
Internet
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Newly Open Sourced Plugins
Support Plugin– Capture thread dumps, system properties,
environment variables etc in a zip file– Manually/auto-generate a bundle– Attach to the ticket
Folders Plugin– Foundational feature for Jenkins Enterprise
by CloudBees: Group jobs in nested hierarchies
– Folders+• Moving jobs between folders, pulling information
from nested jobs, environment variables
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Jenkins Hybrid <INSERT HYBRID IMAGE>
“How do I access resources in my data center?”– Use Jenkins VPN
• VPN server running on Jenkins master on DEV@cloud
• Use OpenVPN to punch a hole in your firewall
“How do I… run builds on a custom stack; leverage my existing hardware?”– Use On-premise Executors
• Run a cli utility to connect to the master on DEV@cloud
“How do I… make use of my AMIs on EC2; stop managing Jenkins master when I went to the Amazon cloud?”– Use EC2 Executors
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Multi-master <INSERT GRAPHIC of MANY JENKINS>
“Jenkins grew virally in my organization, now I need to…”– share slaves across these masters– access and manage these masters– share security configuration
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Multi-master: Jenkins Enterprise by CloudBees
Slaves shared between masters
Push security configuration to masters
SSO to masters
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Thank You To Our SponsorsPlatinum
Gold
Silver
Jenkins User ConferencePalo Alto , Oct 23 2013 @jenkinsconf
Jenkins grows virally …that’s good right?
I WANTED MY COMPANY TO USE JENKINS
NOW I HAVE TOO MANY JENKINS