Skip to content

continuous blog - the official hudson weblog
Syndicate content
Updated: 3 hours 28 min ago

Announcing the travel grant program

Tue, 08/25/2015 - 20:50

We're currently setting up a program to support community members' travel to Jenkins community events. Our goal is to enable more members of the community to meet each other and exchange ideas in person.

We're still hashing out the details, but it'll be available to every Jenkins community member. Apply, telling us what Jenkins-related event you'd like to attend and how awesome you are, and we may support your travel with up to 500 USD. For details on how this will work, see the current draft of the travel grant program.

The first person to be supported in this way is Pradeepto Bhattacharya from Pune, India. He was a speaker at this year's JUC Europe in London, and will give two talks at JUC US West next week—and we help him get there! He asked us a few weeks back whether the Jenkins project could support his trip to the US. We came to the conclusion that this would be a good idea—so good in fact, that we decided to build a regular program from it.

Are you planning to attend a JUC or similar event, but worry about the cost of travel? We may be able to help you out!

Categories: Open Source

JUC Speaker Blog Series: Kaj Kandler, JUC U.S. West

Mon, 08/24/2015 - 18:32

Developing Enterprise-Ready Plugins

My greatest surprise at JUC 2014 in Boston was how many enterprise Jenkins CI users had developed plugins for their own use. I had not pictured enterprise release managers as plugin developers. Here at Black Duck Software, we developed Jenkins plugins for four years running. Fabrice Solami, a sales engineer, wanted to do more than automate our code scanning tool via a shell script step in the Jenkins job. He wrote a first plugin that added a build step to run the tool and configure the job more comfortably. The plugin became quickly popular, and when customers asked for it to also support maven builds and run on slaves, it was time for help from the engineering team, particularly the integration team I lead.

Over the years we developed four more plugins and overhauled the original one with the user community (aka paying customers) growing to >75 organizations, mostly large or really large development organizations. In the process, we received lots of feedback and discovered some Jenkins features we feel are essential for good plugin design for the enterprise. Let me share these insights so that you can consider them in your plugin development.

Credentials Plugin

Our plugins connect to our web applications and need authentication to utilize our SDK. The first plugins used username and password fields in every job configuration. That made tedious configuration work and stores the passwords in clear text in the configuration files on disk. Ouch!

We did wise up and started using the credentials plugin to manage username/passwords centrally and securely. It even allows setting authorization roles in such a way that the maintainer of a job can use the credentials without seeing the password. With that in place, our plugins are fit for banks and insurance companies and any other security-conscious organization.

Support the REST API

Did you know that Jenkins talks REST? We found it to be an easy way to create and update jobs. It is a really handy tool. The REST API is easy to script for all sorts of external interactions.

However, plugins need to do a little effort to support it on their part; yet it is almost trivial to do. So from our experience it should not be left out.

We wrote a small Java program that reads, creates, updates job configurations, and can trigger job runs. It reads the jobs and commits them to a file for easy mass editing and updates the jobs afterwards.

Our internal use case is to manage regression tests. We have medium-sized lists of jobs that run regression tests. With this tooling we can create a new set of jobs for a given plugin that runs against a new target server, that is, a server version under QA. It all happens in less than 15 minutes.

We also made this part of our migration from our first plugin to its successor with all the enterprise capabilities, but incompatible configuration. Using the REST API and some more Java programs we can create a csv file / Excel spreadsheet with jobs that are configured with the previous plugin. The user can filter the list with the spreadsheet application as needed, and then use the resulting list as input to the batch upgrade tool. This makes the upgrade a gradual affair and not a tedious exercise in UI configuration changes.

UpdateSites Manager Plugin

If you are developing plugins for in-house use, you have the option to install/update those through file upload. However, in an enterprise you likely have multiple Jenkins servers for different divisions, development groups, or regions. The notification of updates becomes tedious at best. Wouldn’t it be nice to run your own update site, so that your plugin(s) become discoverable in the “Available” tab of the “Manage plugins” screen? Wouldn’t it be a dream if available new versions show up automatically in the “Updates” tab, including Jenkins version compatibility check?

UpdateSites Manager plugin by IKEDA Yasuyuki is the answer to your prayers. It is easy to install, and the process to create and publish an update site is not too complicated and can become part of your Jenkins job building/releasing the plugin.

In my presentation at JUC 2015 West, I’ll share more details on how this makes a difference and how you can use these techniques to make your plugins enterprise-grade. As a bonus, I’ll show you how to get a free vulnerability report for your Maven or Gradle builds.

This post is by Kaj Kandler, Integration Manager atBlack Duck Software, Inc. If you have your ticket to JUC U.S. West, you can attend his talk "Making Plugins that are Enterprise Ready" on Day 1.

Still need your ticket to JUC? If you register with a friend you can get 2 tickets for the price of 1! Register here for a JUC U.S. West, the last JUC of the year!

Thank you to our sponsors for the 2015 Jenkins User Conference World Tour:

Categories: Open Source

Upcoming office hour on Kubernetes

Thu, 08/20/2015 - 23:36

Nicolas De Loof will host an office hour next Wednesday 11 AM PDT on integrating Kubernetes with Jenkins. Kubernetes is an open-source project by Google that provides a platform for managing Docker containers as a cluster.

During this session, Nicolas will introduce Kubernetes, explain how it can benefit Jenkins and demonstrate the Kubernetes Plugin. Then he will discuss the design of the Kubernetes plugin and plans he has for future improvements.

Participate in the Hangout on Air or watch live on YouTube.

Categories: Open Source

Volume 9 of the Jenkins Newsletter: Continuous Information is out

Thu, 08/20/2015 - 16:01

The Jenkins Newsletter is out a bit early this quarter. If you are not signed up to receive it via email, check out Volume 9 here.

You will be connected to all sorts of Jenkins resources from Jenkins training sessions, to some Jenkins User Conference news, to how Jenkins works with Kubernetes and Docker.

I hope that you enjoy this issue! Please let me know what content you find to be the most useful, reach out to me with content that you would like to see in the next issue, and feel free to tell me how I can improve the Jenkins Newsletter: Continuous Information. You can reach out to me at Thanks!

Categories: Open Source

JUC Speaker Blog Series: Andrew Phillips, JUC U.S. West

Tue, 08/18/2015 - 18:51

Join Me at JUC West to Discuss Building an Enterprise Continuous Delivery Machine with Jenkins

After a great event on the East Coast in June, now over to the West Coast for another exciting Jenkins User Conference! I'll be there for JUC West on September 2-3 with the XebiaLabs team, and am looking forward to talking to the Jenkins users, partners, developers and community members that will be coming together.

At JUC East, I talked about the importance of Automated Testing in your Continuous Delivery pipeline, and I was really pleased by the number of interesting discussions and comments that came about as a result.

For JUC West, I'll be taking a broader view, and will talk about building an "Enterprise Continuous Delivery Machine" around Jenkins. I'm going to focus on the challenge of identifying and choosing solutions for the many "adjacent problem spaces" to Continuous Integration that you run into when trying to move to Continuous Delivery: artifact management, feature tracking, environment provisioning, deployment automation, test management, pipeline orchestration, production feedback and more.

We'll discuss some of the options available for each category, with a special focus on app deployment, test result management and pipeline orchestration. We'll also present a couple of real-world Continuous Delivery Machine architectures, and analyze some of the motivations for each organization's choices.

Most of our users use XebiaLabs tools/products in combination with Jenkins to build out their Continuous Delivery stack. If you’re scaling out your Jenkins usage too, stop by the XebiaLabs booth to see if you can pick up some tips and to say hello.

Look forward to seeing you at the event, or check the slides or recording we will post after the event. Hope to see you there!

This post is by Andrew Phillips, VP, Product Management at XebiaLabs. If you have your ticket to JUC U.S. West, you can attend his talk "Sometimes Even the Best Butler Needs a Footman: Building an Enterprise Continuous Delivery Machine Around Jenkins" on Day 1.

Still need your ticket to JUC? If you register with a friend you can get 2 tickets for the price of 1! Register here for a JUC U.S. West, the last JUC of the year!

Thank you to our sponsors for the 2015 Jenkins User Conference World Tour:

Categories: Open Source

Update: Wiki and issue tracker outage

Thu, 08/13/2015 - 10:43

I recently wrote about the two day outage of our wiki and issue tracker:

While this was a rather lengthy outage, it could have been much worse. We lost none of the data, after all.

OSUOSL have since published their post mortem. I was really wrong about not losing any data:

A further complication was that our backups were pointed at mysql2, which was out-of-date with mysql1, due to the initial synchronization failures. Fortunately, we had the binary logs from the 17th through the 30th. This means that though most data could be restored, some data from between the 15th and the 17th was lost.

For our issue tracker, that means that issues JENKINS-29432 to JENKINS-29468 were lost, as well as comments posted from about July 15 12:20 PM to July 17 2 AM (UTC). We know this thanks to the jenkinsci-issues mailing list where the lost issues and comments can be looked up for reposting.

We unfortunately don't have such a record from our wiki.

Categories: Open Source

Upcoming office hour on Workflow

Mon, 08/10/2015 - 20:40

Jesse Glick will host the next office hour this Wednesday, 11 AM PDT on Workflow.

Workflow has been Jesse's project for the last year or so. If you don't know what Workflow is, check out these talks about it from past JUCes:

This will be a developer-focused session on integrating with Workflow. He'll discuss things like how to make sure your plugin can be used as part of workflows, and best practices for extending the workflow DSL. There's already been a session on Workflow in January, but Jesse hasn't been idle, and there's new stuff to share.

Participate in the Hangout on Air or watch live on YouTube.

Categories: Open Source

JUC Speaker Blog Series: Carlo Cadet, JUC U.S. West

Wed, 08/05/2015 - 17:39

Mobile is Joining the Party At This Year’s Jenkins User Conference

Consider this as a shout out to mobile app developers: You are invited! For the first time, there’s a mobile track at this year’s Jenkins User Conference to discuss the best ways to extend CI/CD to mobile application testing.

As agile practices take hold, enterprises are expecting more collaboration between dev and test teams. Dev teams are doing more testing while QA teams are becoming more skilled at coding. This is happening now, and as a result open-source test automation frameworks like Selenium and Appium are flourishing. At the same time, CI/CD adoption is growing. This is happening more so for web development rather than mobile. It’s no secret that incorporating mobile test automation and CI comes with challenges. Mobile UI testing on real devices is still a manual process for many organizations. Manual testing is perhaps a path of least resistance, but it also commits teams to the longest delivery path. Some argue they lack the environment, resources or skilled people to create test automation. While the argument rages, its clear other teams are solving the challenge. Teams are prioritizing the requirement to build a test framework and aligning disparate tools into an effective CI workflow. Recent webinars with Paychex and RaboBank demonstrate CI/CD best practices can effectively extend to mobile app programs using real devices. Particularly when the lab is moved to the cloud and teams can focus on building robust test automation suites.

But overall, the transition to an agile SDLC for mobile apps is happening too slowly. Yet the mobile market demands constant updates. An essential part of an agile SDLC is utilizing automated testing and continuous integration. To test builds using a CI server requires automation which is key to agile development in a fast-paced mobile world because it allows testing to be done by developers early in the lifecycle.

Extending CI to mobile programs is easy with Perfecto Mobile’s support for open source frameworks such as Selenium Remote Web Driver, Appium and Calabash where existing CI plugins are available. Support for commercial tools like HP UFT is also available. With the Perfecto Mobile Jenkins Plugin, you can perform automated functional testing every build. The result is obvious, discover defects earlier, deliver faster feedback and increase release frequency and, ultimately, have better performing apps.

Learn more about extending your CI practice to mobile projects in our upcoming JUC mobile session: “Fast Feedback: Jenkins and Functional Mobile App Testing Without Pulling Your Hair Out.” The session will share suggested coding practices along with planning guidance on maximizing the quality coverage during daily, nightly and weekly builds.

The Jenkins User Conference US West takes place in Santa Clara, CA on Sep 2-3, 2015.

Stop by the Perfecto Mobile booth and share your story.

This post is by Carlo Cadet, Director of Product Marketing at Perfecto Mobile. If you have your ticket to JUC U.S. West, you can attend his talk "Fast Feedback: Jenkins + Functional & Non Functional Mobile App Testing, Without pulling your Hair out!" on Day 1.

Still need your ticket to JUC? If you register with a friend you can get 2 tickets for the price of 1! Register here for a JUC U.S. West, the last JUC of the year!

Thank you to our sponsors for the 2015 Jenkins User Conference World Tour:

Categories: Open Source

Bay Area Jenkins Area Meet-up kick-off gathering today

Wed, 08/05/2015 - 08:23

A week ago we reported that Uday is looking at organizing a regular Jenkins meet-up in Silicon Valley. This has made a progress since then, and this evening we'll get together to figure out logistics for the first meet-up:

August 5th, Wednesday 6:30 PM - 7:30 PM
Starbucks, 750 Castro St, Mountain View, CA 94041

The agenda is:

  • Determine the date for the first meet up
  • Speakers for the second slot. Kohsuke will be presenting first.
  • Future topics of interest for JAM
  • Sponsors / Volunteers
  • Ideas to make the JAM relevant and interesting for the extended community to participate and share their implementations
  • Q & A

Uday and I will be there, and Uday told me that he heard from another guy who will join us. If you are around and is willing to come over, we'd love to see you. If you are interested, I'd also encourage you to join the Jenkins events list, where a discussion is happening.

Categories: Open Source

Wiki and issue tracker outage over the weekend

Tue, 08/04/2015 - 23:20

As you may have noticed, our wiki and issue tracker were unavailable from Thursday to Sunday last week. What happened?

We host parts of our infrastructure at the Open Source Lab at Oregon State (OSUOSL), including the databases for these two services. So far, there's no post mortem by OSUOSL (they expect to post one later this week), so we need to piece together what we know.

The databases for the wiki and issue tracker became inaccessible around midnight/12 AM Thu/Fri night (all times UTC). Due to the large number and size of databases on that server, pulling from backups, restoring from backup and replaying the binlogs took them quite a while. During that time, we put up a maintenance screen on the wiki (and messed up the one for Jira, so there were connection timeouts instead).

The databases were back around 3 AM on Sunday. We disabled the maintenance screens around 6 PM later that day.

While this was a rather lengthy outage, it could have been much worse. We lost none of the data, after all. We thank the OSUOSL team for their efforts getting everything back up over the weekend!

Categories: Open Source

Just a month left until JUC U.S. West

Mon, 08/03/2015 - 12:15

There's only a month left until JUC U.S. West on September 2-3! If you're still on the fence, check out the recaps of JUC Europe talks recently posted to the CloudBees blog. These should give you an idea about the kinds of talks you can expect at a Jenkins User Conference:

If you're interested in the upcoming Jenkins UI overhaul, make sure to attend Gus and Tom's talk about it. Don't want to wait until JUC to learn more about this? Follow the discussion on the developers mailing list and contribute through early testing.

This JUC will again have an Ask The Experts booth with several Jenkins experts and developers available there throughout the event. If you want to discuss Workflow with Jesse, or pitch your UI ideas to Gus, this is where you'll be able to do that.

Categories: Open Source

JUC U.S. West News: Agenda is up

Thu, 07/30/2015 - 23:12

It seems a bit unreal, but the last JUC agenda for 2015 is now online. Jenkins User Conference U.S. West is the last JUC of the year running from September 2-3 in Santa Clara, CA. So, if you haven't attended JUC yet this year, this is your chance!

Register with a friend to take advantage of the community's 2-for-1 deal and get two tickets for the price of one.

Which talk are you looking forward to most? Check out the agenda and tweet your choice to @jenkinsconf!

Categories: Open Source

JUC Europe slides and video are now available online

Wed, 07/29/2015 - 21:45

Slides and video from JUC Europe are now available online!

If you made it to London to attend this year's JUC Europe, I hope you enjoyed the conference, met plenty of community members and learned more about Jenkins. Now that the slides and video are up, you can revisit your favorite talks or "attend" the ones that you missed...all at your leisure.

If you were unable to attend JUC Europe, well, now you can! The slides and video are here so you can "attend" any time you want. If JUC LIVE seems more appealing to you, there is one date left in the 2015 Jenkins User Conference World Tour: JUC U.S. West is September 2-3 in Santa Clara, CA. Register here.

Categories: Open Source

Reinforcements for the Subversion Plugin

Tue, 07/28/2015 - 22:06

This is a guest post by Manuel Recena Soto (aka recena).

Users of the plug-in know that it has undergone very important changes in the last two years.

Unfortunately, some of these changes resulted in regressions for some users that weren’t properly addressed in subsequent releases. Many users were therefore forced to keep using an older release of the plugin to keep their instances running.

To fix this difficult situation I've decided to dedicate my spare time to improving the plug-in and attempting to restore the stability that an essential plug-in like this requires.

In order to do so, me, my colleague Steven Christou and other members of the community have drawn up a plan.

In the coming weeks we will be focusing our efforts on:

  • Going through the Jira tickets
    • Checking whether they are duplicated
    • Checking whether they are still relevant
    • Asking for more information from the people who reported them
    • Establishing their priority
  • Reviewing pull requests
  • Investigating bug reports and try to reproduce them
  • Fixing serious bugs
  • Refactoring the plugin to improve its maintainability.

We’re planning to publish a new 2.5.x bugfix release once a fortnight. We are not considering the inclusion of new features or improvements. The priority now must be to obtain a stable and reliable plug-in, one that will allow us to take things up again in the future with greater security and peace of mind.

Interested in helping? Just send us a message!

Categories: Open Source

Bay Area Jenkins Area Meet-up is looking for you

Sat, 07/25/2015 - 15:34

Uday made a blog post yesterday that he is looking at organizing a regular Jenkins meet-up in the Silicon Valley Bay Area dubbed "Bay Area Jenkins Area Meetup (JAM)."

As a first step, he wants to have a kick-off meeting, to get more insights and opinions about what the topics could be and what people want to hear. I'm really looking forward to it as a means to build a local network, so I signed myself up as a speaker of the first meet-up.

If you are in the Peninsula, South Bay, East Bay, etc., please send some encouragements to him by posting a comment, or better yet, come to the kick-off meeting.

Categories: Open Source

JUC U.S. East slides and video are now available online

Fri, 07/24/2015 - 22:37

Slides and video from JUC U.S. East are now available online!

If you attended the conference, THANK YOU, and I'm sure you had fun, learned a lot and met many people from the Jenkins community. Now you can revisit your favorite talks or "attend" the ones that you missed.

If you were unable to attend JUC U.S. East, you now have the slides and video so you can "attend" anyways! If you like what you see and would like to attend a JUC this year, there is ONE date left in the 2015 Jenkins User Conference World Tour: JUC U.S. West is September 2-3 in Santa Clara, CA. Register here.

Categories: Open Source

Integrating Kubernetes and Jenkins

Fri, 07/24/2015 - 16:17

Kubernetes is an open-source project by Google that provides a platform for managing Docker containers as a cluster. In their own words:

Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions. Using the concepts of "labels" and "pods", it groups the containers which make up an application into logical units for easy management and discovery.

Kubernetes-related services by Google are the Google Container Engine, a Kubernetes-powered platform for hosting and managing Docker containers, and the Google Container Registry, a private Docker image registry.

Several new Jenkins plugins allow you to make use of Kubernetes and these services:

Watch Kohsuke demoing Jenkins/Kubernetes integration at OSCON earlier this week.

For a more in-depth look at how you can use Kubernetes with Jenkins, check out these posts on the CloudBees blog by Tracy Kennedy:

Categories: Open Source

Office hours are back

Thu, 07/23/2015 - 10:26

After several months of inactivity, office hours, the bi-weekly meeting of Jenkins users and developers to learn more about Jenkins, are back.

I'll host the first session next Wednesday at 11 am PDT. This session will be about Stapler, focusing on what Jenkins plugin authors need to know about it, e.g. request routing, form submission handling, or how Jelly/Groovy views work.

While this is going to be a developer-focused session, future session topics will also have Jenkins users as target audience.

For general information on office hours, and how to join, see the wiki.

Categories: Open Source

Juseppe, a custom update site for Jenkins

Tue, 07/14/2015 - 18:36

This is a guest post by Kirill Merkushev at Yandex. I met him at JUC Europe where he showed me the project he was working on: Juseppe. It looked really interesting, so I asked him to write this guest post.

When you write your first custom Jenkins plugin for internal use, it's easy enough to deploy it on one or maybe two Jenkins instances. You can save it on your local drive and upload the HPI file via the Jenkins Plugin Manager as needed. It's easy to do this for a few releases. But as your experience grows, the number of plugins and their releases grows as well. The plugins directory on your local drive soon looks like a garbage dump, and it's difficult to find that most recent version of any plugin. And if you have a lot of Jenkins instances coordinating updates of your plugins may cause a lot of pain.

A similar situation is when you contribute a much-needed patch to an existing plugin, but you don't have the time to wait until your pull request is be merged and a new release is cut. Or you may need to patch a plugin in ways not suitable for distribution, and decide to effectively fork the plugin for use on your Jenkins instances. How are you going to do this?

A solution avoiding the problems from these situations is to set up your own update site to serve your private plugin builds. Juseppe allows you to do this quickly and easily.

What is Juseppe?

Juseppe is an acronym for Jenkins Update Site Embedded for Plugin Publishing Easily. Juseppe can help you set up a Jenkins update site in just a few minutes.

  • Generates signed update-center.json and release-history.json
  • Works with HPI files directly (stored in one folder), no need to set up a Maven repository
  • Watches for changes in the plugin folder and regenerates JSON files when changes are detected
  • Serves generated files and plugin files with built-in Jetty web server
  • Can be run in a "generate-only" mode when you want to use a different web server for these files.
How can I get Juseppe?

It ships as a Docker container, or can be built from source. Visit the GitHub project page to learn more. The complete user guide is available in the GitHub project wiki.

Categories: Open Source

Jenkins User Event Scandinavia 2015

Thu, 07/09/2015 - 20:39

For the 4th consecutive year the Jenkins CI community is gathering in Scandinavia. JUES inspires both current as well as soon-to-be Jenkins users to network and harness inspiration from peers and experts on best practice and implementation of Continuous Integration, Continuous Delivery, and agile development with Jenkins.

As always we’ll precede the JUES conference with a Code Camp on the day before. The Code Camp is a full day community event where developers learn from fellow developers on coding and plugin enhancement, all delivered back to the community.

We welcome you and other leading Jenkins developers, QA, DevOps, and operations personnel to this years Scandinavian Jenkins CI festival hoping to continuously support the growth of the Jenkins Open Source community.


Categories: Open Source