jenkins user conference 2013: literate, multi-branch, mobile and more

Post on 08-May-2015

1.853 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

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

TRANSCRIPT

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

top related