Jenkins User Conference San Francisco 2012: Abstracts

This conference focuses on Jenkins Continuous Integration (CI) as the fundamental best practice for enterprise software development. Our presenters are experienced Jenkins open source developers, executives, business managers, architects and authors who are luminaries within the Jenkins community. They represent the many organizations around the world who are leveraging the use of Jenkins within the application development lifecycle.

The Jenkins in the Cloud workshops guide you through the many benefits of cloud infrastructures and Platform as a Service (PaaS). The sessions will also cover topics such as how to set up and integrate cloud options into your existing development strategy -- all while protecting and leveraging legacy IT investments.

Hyatt Regency San Francisco
5 Embarcadero Center
San Francisco, CA 94111

September 30, 2012

Track 1 - Grand Ballroom B Track 2 - Grand Ballroom C

10:30 - 11:15am

Getting to Your Third Plugin
Justin Ryan - Netflix

Only by the third plugin do you get the hang of writing a plugin. I thought as a developer coming to the build side of things it'd be easy to jump in and write some plugins. I was wrong. Don't be fooled by the extremely friendly Jenkins community, writing a plugin from scratch is harder than they let on. This talk will explain the hurdles that I had to cross to make writing plugins easy.

Justin Ryan

10:30 - 11:15am

Import Continuous Delivery
Toomas Romer & Anton Arhipov - ZeroTurnaround

Packages sent via FedEx go through a tracked, automated process that makes sure that the package arrives promptly at its destination. Why shouldn't every commit that you check into the trunk be applied similarly? Continuous delivery describes how this process can be made fully automated and transparent and your commits can be "FedExed" to production on application servers like JBoss, Tomcat, Weblogic and more using Jenkins, LiveRebel and other tools.

Toomas Romer & Anton Arhipov

11:25am - 12:10pm

Using Jenkins for the Build and Deployment of .NET Applications
Constantin Caraivan - Adobe

Business Catalyst is a platform for building online businesses without advanced knowledge of web technologies. The stack behind Business Catalyst is complex and continuously evolving, but is currently mostly Windows + .NET based. This talk addresses the challenge of replacing the tools used for building and deploying Business Catalyst: CruiseControl.NET, ControlTier, Windows-scheduled tasks and batch scripts. Add to this inherent complexity an ever-changing environment and the need for high availability and you get an interesting scenario.

Constantin Caraivan

11:25am - 12:10pm

Testing Salesforce at Cloud Scale
Greg Wester -

Learn about Salesforce's diversified test automation strategy, which spans both the public cloud and a private VM farm. Salesforce engineers will present an overview of how Jenkins is augmenting their existing CI runner and decreasing cycle time.

Greg Wester & Thomas Kim

12:10 - 1:00pm
--- LUNCH ---

12:10 - 1:00pm
--- LUNCH ---

1:00 - 1:45pm

Trunk Gating with Gerrit, Jenkins and Zuul
James Blair - Hewlett Packard

See how the OpenStack project uses Gerrit, Jenkins and Zuul to perform trunk gating and how you can apply the same approach to ensure only high quality code is merged into your project's source control system. This talk will focus particularly on Zuul, a new free software tool that uses the Jenkins API to perform several kinds of project automation tasks, including testing interrelated changes in parallel before merging them.

James Blair

1:00 - 1:45pm

Increase Jenkins High Availability in the Enterprise
Mark Prichard - CloudBees

CloudBees has invested in building a number of plugins to help organizations address three main problem areas encountered in larger, more demanding Jenkins environments: (1) management of large Jenkins implementations, (2) project and/or installation security and (3) resource optimization. In this talk, an overview of these plugins will be provided and you will see how they can be deployed to provide high availability continuous integration, the ability to host your own update centers and templates, role-based access control and more. Mark will also talk about the CloudBees Jenkins Software as a Service (SaaS) solution and show how it enables organizations to support large, complex continuous integration requirements with dramatically reduced infrastructure and administration costs. This is particuarly appealing for those folks who don't want to run and support their own Jenkins implementation in-house.

Mark Prichard

1:55 - 2:40pm

Business Process Model and Notation (BPMN) Workflows in Jenkins
Max Spring - Cisco

The Jenkow plugin integrates the Activity BPMN workflow engine into Jenkins, allowing the orchestration of jobs via BPMN workflows. This talk gives an overview of the Jenkow plugin, covers the state of development, demonstrates the plugin in action and shows how others can get involved.

Max Spring

1:55 - 2:40pm

Planned Parenthood - Introducing Inheritance Between Jobs to Jenkins
Martin Schröder & Norman Baumann- Intel Mobile Communications

Configuring jobs is the bread-and-butter of Jenkins. However, tracking their subtle differences can be hard. The configuration of jobs can become outdated or incomplete. While there are many plugins that can help with this, none of them solve the full scope of the problem. In this talk, we will show how a plugin we created can make your life easier by introducing job inheritance. Job inheritance makes it possible to support thousands of job variations, configuring common aspects only once and applying changes to many jobs at the same time.

Martin Schroeder & Norman Baumann

3:15 - 4:00pm

Rebuilding the Airplane at 10,000m: Implementing Continuous Deployment with Jenkins and Gerritt
R. Tyler Croy - Lookout Inc.

"Speed or stability, pick one." We want both, and in this talk, I will discuss the experimentation and transition phase made from slow brittle processes, to much more continuous deployments with Jenkins and Gerritt collaborating to provide faster developer feedback on the quality of their changes. Along the way I will share pitfalls, useful tools and practices to make the transition to continuous deployment easier for others.

R. Tyler Croy

3:15 - 4:00pm

Improving Software Quality Using Component Lifecycle Management with Jenkins
Manfred Moser - Sonatype

As more teams move to agile development and CI to reduce delivery cycles, new requirements have emerged to ensure software quality. Manfred Moser will discuss emerging trends, best practices for ensuring quality in agile, component-based development, and new tools and techniques that development teams can leverage at build time in Jenkins.

Manfred Moser

4:10 - 4:55pm

How Jenkins Builds the Netflix Global Streaming Service
Justin Ryan, Gareth Bowles, Brian Moyles - Netflix

With 1,600 jobs and 2,000 builds per day, Jenkins is a cornerstone of the Netflix build and deployment infrastructure. This talk will describe our Jenkins setup and explore some of the solutions we've created - and are giving back to the community - for running Jenkins at scale, including custom plugins, housekeeping jobs and configuration tips and tricks.

Gareth Bowles & Brian Moyles

4:10 - 4:55pm

Beyond Selectors: Using Jenkins to Display Selenium Failures and UX Compliance
David Tolley - Groupon

Jenkins is more then a CI tool, it can be used as a complete platform to test your software in as many ways as possible. At Groupon, we have created two unique plugins that dramatically increase the usefulness of Jenkins. First, a plugin which will match failed Selenium screenshots with the JUnit error pages, displaying screenshots on the same page as the error stack trace. Second, we have created a plugin that will compare current screenshots with screenshots from a known quality source and determine if the overall UX of a page is correct. Jenkins allows us to go beyond functional testing, it now allows us to test the experience of a webpage.

David Tolley

5:00 - 5:45pm

Jenkins with Ruby on Rails, on EC2
Matthew Kocher - Pivotal Labs

Pivotal Labs starts new projects every week, and we want to have CI set up, building and tagging releases in a few hours, not a few days. For our Rails projects we buit a gem, Lobot, for setting up Jenkins instances on EC2 with Chef. I'll explain what actually goes on behind the scenes when bringing up CI on EC2 and share with you the tools we use for CI on Rails projects.

Matthew Kocher

5:00 - 5:45pm

Take Control. Write a Plugin. Part II
Baruch Sadogursky - JFrog

This session is about advanced aspects of plugin development, such as working with remote agents, working in multiple operation systems, creating UI using Groovy and extending Jelly components.

This session is a sequel of the "Take Control.Write a Plugin," talk delivered at JUC Herzelia. (Go here to see slides and video.)

Baruch Sadogursky

5:50 - 6:35pm
Lightning Talks
(10 minutes each)

5:50 - 6:00pm

jclouds & Jenkins: Any Cloud, Anywhere
Andrew Bayer - Cloudera
Adrian Cole - jclouds

You may already be familiar with the Jenkins EC2 plugin, but the Jenkins jclouds plugin opens up even more doors, running on any of 50+ providers or cloud APIs, including many private cloud systems. We'll take a look at the features of the jclouds plugin beyond just dynamic slaves and give you some hints as to where Jenkins and jclouds are going down the road.

Andrew Bayer

5:50 - 6:35pm

Real World Jenkins Project
Kohsuke Kawaguchi & Community

Kohsuke is taking the Jenkins project meeting off the IRC and into the real world at the JUC San Francisco. Join the Jenkins community leaders to voice your ideas and thoughts.

6:05 - 6:15pm

The Dynaslave Plugin for Building in the Cloud
Brian Moyles - Netflix

Learn about the dynaslave plugin (planned to be open sourced by the date of JUC San Francisco) which Netflix wrote to provide sets of custom EC2 build slaves controlled by autoscaling groups. We now use dynalsaves for a large majority of our builds.

Brian Moyles

6:20 - 6:30pm

How to Use the Jenkins Artifactory Plugin with the New Jenkins CI Repository
Baruch Sadogursky, JFrog

This is a walk-through of a new feature available in the new Jenkins CI binary repository, powered by Artifactory - the tracable build integration. This feature provides the plugin developer with full tracability of the plugin from Jenkins CI - where it is built - to Artifactory, where it is provisioned.

Baruch Sadogursky