This is the Jenkins User Conference San Francisco 2012 - a one day, two track, conference being held on Sunday September 30, 2012.
Kohsuke Kawaguchi, Elite Developer and Architect
Kohsuke is the creator of Hudson, later renamed Jenkins. He wrote the majority of the Hudson/Jenkins core single-handedly. Kohsuke has more than 10 years of extensive software development experience, ranging from Java to C++, .NET to x64 assembly, as well as systems expertise on several platforms, including Windows, Linux and Solaris. This broad range of experience was a key enabler in the development of various advanced features of Jenkins. Kohsuke is now an elite Jenkins developer at CloudBees and an active member of the Jenkins User Conference Governance Committee.
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.
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.
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.
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.
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.
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.
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.
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.
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.
"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.
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.
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.
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.
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.)
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.
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.
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.