Wednesday, April 25, 2012

More Jenkins Value from CloudBees

At the Jenkins User Conference in Paris last week, we announced that CloudBees is providing free access to two proprietary plugins and donating two open source plugins to the Jenkins Community. The free proprietary plugins include:
  • Folders Plugin: You can use the Folders plugin to create hierarchical folders or custom taxonomies to more easily manage large numbers of jobs. The ability to organize Jenkins jobs hierarchically has been one of the most requested features of the community. Along with the Folders Plugin, CloudBees updated a number of popular plugins to ensure they used the proper existing API for compatibility with Folders.
  • Backup Scheduling Plugin: You can use the Backup Scheduling plugin to backup job configurations, build records, system configurations or any combination thereof using CloudBees DEV@cloud. 
You can access these free plugins by choosing to install the CloudBees Gateway Plugin in the Update Center.  Once you install it and register for a CloudBees account, you can install the Folder and Backup plugins like any other Jenkins plugin, and you should refer to the Jenkins Enterprise by CloudBees documentation.

It's probably also worth highlighting our motivations in making these plugins available for free. We're continuing to invest in open source Jenkins, along with the tremendously active community across the world. The bar for enterprisey-ness is getting higher all the time, as it should! So, by freeing these plugins now, we are continuing to raise the bar on ourselves and our Jenkins Enterprise by CloudBees offering. Stay tuned as we bring Jenkins Enterprise by CloudBees to even higher levels.

The new open source plugins include:
  • File Leak Detector Plugin: If you've ever encountered the dreaded "too many open files” problem running Jenkins, you now have a way to diagnose and fix the root cause. This plugin watches file descriptor open/close activities of a JVM and allows you to see the list of what's currently opened, as well as the Java call stack that opened the file.
  • Credentials Plugin: This plugin allows you to store credentials in Jenkins. It provides a standardized API for other plugins to store and retrieve different types of credentials. We feel this plugin is an important building block as Jenkins is deployed in more security-conscious environments, and of course we use it ourselves!
Collectively, these plugins deliver even more power into the hands of every Jenkins user.  You can leverage the folder capabilities to organize jobs and the power of the cloud to capture the state of your Jenkins deployments. The plugins also make it even simpler for you to use the CloudBees platform to build and stage application code for real-time testing, delivering higher quality software more quickly. We've even added a plugin we call the Wasted Minutes plugin, to tell you how much time you could have saved if you had more executors available -- and of course, those are always teed up and waiting you to use on CloudBees.

We're sure you'll find these new plugins to be useful.  Let's all continue to push Jenkins and find ways to make it even better!

Steven G. Harris
Senior VP of Products

Follow CloudBees:
Facebook Twitter 

Thursday, April 19, 2012

xUnit Plugin

Jenkins has great support for rendering test results. From a project, you can view the test status as a synthetic table and browse down through details to a single test output. You also have a history trend of test successes and failures, to visualize the way your team is handling tests and how the suite evolves over time, throughout the life of the project.

This advanced functionality is possible thanks to JUnit being the de facto standard for unit testing within the Java ecosystem. But what if you use an alternative test framework, or maybe don't use Java anyway. Some of the frameworks have options to render a JUnit-compatible output, but how to deal with the other ones?

Gregory Boissinot (aka the X-man) created an xUnit plugin, as he wanted to get Jenkins test support for such a non-Java project. This plugin is a bridge plugin to take your test framework output and convert it to JUnit format so that it fits into Jenkins test support.

Stable Release Versions
The latest release of xUnit is 1.40, with frequent new releases to add support for new testing tools.

Requirements for Plugin Use
xUnit require Jenkins 1.410 or newer, and all the required tools installed to generate the test output.

How to Use
xUnit uses a transformation engine called DTKit to parse the test tool output and convert it to the Jenkins test support API. Many common test tools are supported by default and can be configured simply by selecting the test tool and setting the location of test output in the job workspace.

Thanks to xUnit you can, with a few configurations, get the power of Jenkins test support even for your PHP, Python or C++ projects, that don't (yet) have direct support in Jenkins.

Great, but what if your favorite test tool is not supported and/or you use a custom private-use one? xUnit lets you configure Custom Tool, and you just have to provide an XSL transformation template to convert your test tool output. Put such a file under JENKINS/userContent/xUnit/foo.xsl and your Jenkins instance will be ready to support a new test tool! You are also welcome to contribute support for new testing tools to the plugin!

How to Use the Plugins on DEV@cloud/RUN@cloud?
xUnit is available on DEV@cloud, from the update center.

Relevant Documentation
wiki documentation

Blog by,
Nicolas de Loof
Support Engineer

Follow CloudBees:
Facebook Twitter

Monday, April 16, 2012

Create Your Startup in a Weekend

Startup Weekends are 54-hour events that happen all over the world. We had our own startup fest here in Austin March 30-April 1 (two remote Bees, Ryan Campbell and myself, have the pleasure of living here). Like the BeMyApp weekend CloudBees sponsored in February, Startup Weekends give participants a chance to come up with a great idea, form teams, and launch a viable company in a weekend!

I had the delightful honor of judging the teams' results at Austin Startup Weekend, which had an impressive turnout. The group gave more than 40 pitches originally, which distilled into 10 solid teams who presented at the end. I think we were all blown away by the amount each team accomplished in a little more than 2 days.

We were instructed to judge the teams on exactly the right things you should look for in a startup:
  • Customer validation – have they done extensive market validation? Interviewed potential customers? Iterated feedback into their product?
  • Business model – is this a realistic way to make money? What’s their differentiation? What’s the customer acquisition/rollout strategy?
  • Technical execution – did they create a functional prototype? Execute well as a team?
I found it interesting that Customer Validation and Business Model were listed first… not Technical Execution. You have to demonstrate a viable market and a way to make it succeed in order to win.

So congratulations to the winners – competition was fierce and they did a fabulous job!
In addition, teams were recognized for
  • Best Technical Execution – TrailerQ
  • Most Creative Presentation – Talent Genuity
If you want to get an even better feel for the weekend, check out this blog by Joey Aquino, one of the StartupWeekend organizers. And if you're brave and want to sign up for a challenging learning opportunity, check out a Startup Weekend in your city!

-- Lisa Wells, Marketing Bee

At Startup Weekends, you don’t have time to waste! CloudBees is the perfect platform for building and launching Java apps in the cloud, fast! Worry about writing great code, not setting up infrastructure.

Follow CloudBees:
Facebook Twitter 

Friday, April 13, 2012

Continuous Information – The Latest in Jenkins Continuous Integration

Because I work on Jenkins day in day out, it's easy for me to forget that most people don't pay that much attention to Jenkins. If you fit that category, and if you want to stay on top of the latest happenings in Jenkins, don’t miss Volume 2 of Continuous Information, the CloudBees Newsletter for Jenkins.

This issue…
  • Features details about the 6 upcoming Jenkins User Conferences (don’t miss these)
  • Announces the new Jenkins CIA Program (join us to promote Jenkins around the globe)
  • Shows you where to find in-depth information about the latest Jenkins UI improvements and featured plugins (cool stuff)
  • Highlights the importance of Jenkins Security Advisories (install these regularly)
  • Tells you why Jenkins has blue balls instead of green ones (seriously)
  • Shows you the latest Jenkins Usage Stats (still growing super-fast)
  • … and more great stuff, including a bit of Jenkins humor (courtesy of our friends at Geek and Poke)

View this issue in full or sign up to receive future newsletters directly to stay on top of the latest Jenkins goodness.

-- Kohsuke Kawaguchi, Jenkins & Hudson Project Founder, and Elite Architect at CloudBees

Call for Papers for JUC 2012 is out! Please help us spread the word...

Wednesday, April 11, 2012

How Can We Make Mobile App Development Even Better?

A version of this blog also appeared on the BeMyApp blog this week...

Hard to believe it’s been more than a month since CloudBees sponsored the the 2012 AppOlympics! We hope the apps everyone built are growing and flourishing… and we can’t wait to hear how some of them take the world by storm!

If you attended the weekend, you probably learned a little about CloudBees, a Java Platform as a Service (PaaS) that you can use for free to build and deploy your apps in the cloud.  With CloudBees, you can roll your Java apps live in minutes, and you don’t need to worry about any hosting or infrastructure issues. Our philosophy is that you should be able to focus on building great applications — not on maintaining development tools, software or systems. And we want to make things especially fast for mobile developers.

Even if you didn't participate in the AppOlympics, if you are a mobile developer, please help us make life even easier for you.

          Share your thoughts in this short Mobile App Development questionnaire.
We also want to tell you about an awesome book that is coming out next week, Platform as a Service for Dummies! And we’re going to offer it to you free as a thank you for answering our questions.  Actually, we’ll give it to you free anyway, just request yours here.

You’ll learn how Platform as a Service is changing the world of application development and deployment, and how you can make the most of it yourself! PaaS will help you:
  • Be flexible and agile — bring innovative solutions to market quickly with minimal resources
  • Focus on writing code — not on managing servers, storage, and software
  • Deploy applications as soon as they are built — through continuous integration and deployment
Of course, if you want to get your hands on your very own PaaS and play around, try CloudBees free now! Or learn more about how we’re uniquely useful to mobile developers.

Thanks in advance for giving us your feedback!

– Lisa Wells, Marketing Bee

Follow CloudBees:
Facebook Twitter 

Tuesday, April 10, 2012

Improvements in Jenkins You Don't See

Nicolas wrote a post about recent UI improvements in Jenkins the other day, but Jenkins also has more improvements than what meets your eyes. So let me talk about some of these other improvements, to encourage you to upgrade.

One such area is in performance improvements. I recently took a good look at page loading performance, with help from people all around the world. The break-through came when I was able to route my packets through them to experience a large latency, which really magnified the problem. Thanks to this, I made all the generated HTML pages served with gzip compression on by default in 1.458. Those HTML pages compress really well, and on configuration pages it normally reduces the data transfer to 1/4 to 1/5. This made a drastic impact on the load time of a configuration page, especially in a large latency network due to the congestion control mechanism built into TCP.

The same investigation also made me improve the use of static assets in plugins. Static assets in the core are served with a proper set of HTTP headers to enable clients to cache them, without doing conditional GETS to the server. But the same wasn't done for static assets in plugins. As you install more plugins, your browser spends more time doing conditional GETs, which adds up to the page loading time. We need to update plugins for this change to really make an impact, but that's already starting to happen.

Another area of improvement is a file handle leak. Thanks to problem reports from our customers, I've developed a nice diagnosis plugin that helps us pinpoint where the leak is happening. Through this tool and with cooperation from our customers, we were able to plug a couple of file handle leaks. When your JVM can no longer open new file descriptors, your Jenkins is really hosed (and when it happens in a wrong moment, the JVM panics and quits!), so this should help keep your instances going longer.

There are a number of other memory related improvements already released and in the pipeline. These tend to involve in a sudden spike in a memory consumption — there are places where we anticipate just a small amount of data, so we casually use ByteArrayOutputStream or something. And next thing you know, you got 20 MB of data in it, and that puts a real strain on JVM!

Those are just a few examples of things that go into Jenkins releases. So really, you should upgrade!

- Kohsuke
Founder, Jenkins Project, &
Elite Developer and Architect, CloudBees

Follow CloudBees:

Monday, April 9, 2012

Watching Out for Jenkins Security Advisories

As Jenkins is a web application, it is not immune from vulnerabilities. So I recommend anyone running Jenkins seriously to watch out for security advisories and keep your instance up to date.

This is especially true for those who are running Jenkins on the public Internet, but it is also true for those who are running Jenkins inside a corporate firewall. Some of the security vulnerabilities involve mounting an attack from a user - for example, a disgruntled employee - inside a firewall from the Internet, tricking his browser into doing things to your intranet Jenkins!

When a security issue is reported, we work on it. Once a fix is developed, we post mainline and LTS releases (more or less simultaneously for security updates, so far), so that users of both release lines have an immediate fix to the problem. Ditto for users of Jenkins Enterprise by CloudBees.

The Jenkins project then issues a security advisory, to make people aware of the newly-discovered-and-resolved security issue. One way to subscribe to the security advisories is to subscribe to a mailing list. You can also subscribe to the RSS feed if you find that more convenient.

The actual detail of the advisory is in a read-only Wiki, which includes information like versions that are affected, the version you should upgrade to and the nature of the problem.

It is the job of the project to fix vulnerabilities, but remember it is your job to deploy the fix!

- Kohsuke
Founder, Jenkins Project, &
Elite Developer and Architect, CloudBees

Follow CloudBees:

Friday, April 6, 2012

April Events


9 Ways to Dominate Development with Jenkins
April 5: 12PM EDT
Join our Elite Developer, Ryan Campbell as he teams up with WANdisco to share tips and tricks for optimal Jenkins CI deployment. Register here.

Application Lifecycle Management with PaaS
April 24: 1PM EDT
Spike Washburn, VP of engineering at CloudBees, demonstrates how to set up collaborative development environments, create developer app sandboxes for "under development" features, inject application configuration and datasources, and so much more...RSVP  for your spot today!

PaaS and DevOps - Best Practices in Agile Cloud
April 26: 11AM EDT
Agile cloud computing refers to the intersection between cloud computing and all things 'agile', including agile software development, as well as other best practices associated with the more rapid development of IT.  Join this free educational webinar where we will provide expert insights into key best practices for DevOps and PaaS.


Emerging Technologies for the Enterprise
April 10 - 11: Philadelphia, PA
The 7th Annual Emerging Technologies for the Enterprise Conference offers a dynamic forum with expansive and intricate subjects for open source and emerging technology.  The conference is already sold out, if you're attending the conference, stop by the CloudBees sponsor table to say hello to our VP of Marketing, Andre Pino.

Jenkins User Conference 
April 17: Paris, France
Join the Jenkins community to kick up your agile development process a notch or two. Attend the conference to learn great tips, best practices, engage in some networking and meet Kohsuke Kawaguchi, the creator behind the successful Jenkins continuous integration development environment. We're almost sold out, sign up today!

Great Indian Developer Summit
April 17 - 20: Bangalore, India
GIDS welcomes over 14,000 software developers for four days of technical skills tutorials, best practices and inspirational keynote from high profile speakers. On April 19, Vivek Pandey, elite developer at CloudBees, joins the roster of high profile speakers to share a talk chock full of information on What Can PaaS Do For You? To learn more, visit GIDS.

JBUG -- CloudBees Deep Dive Workshop
April 18: Washington, DC
Spike Washburn, VP of engineering at CloudBees, will demo how to create, operate and continuously build and deploy Java EE Web Profile apps to various containers, including JBoss AS 7. Spike will show how to use the CloudBees Platform to go from zero to continuous deployment in minutes. Seating is capped out at 35, so sign up fast!

April 18 - 19: Paris, France
We are sponsoring the Meet & Greet party at Devoxx France, so please join us for an evening of fine wine, cheese and lots of networking. Stop by to learn more about CloudBees, see a demo, get a read that right..there will be free massages or simply say hello to the Bees!

Capital Area Cloud Computing User Group
April 19: Arlington, VA  
Hear an exclusive discussion from Spike Washburn, VP of engineering at CloudBees, as he offers up a demonstration of the CloudBees PaaS and uses it to create, operationalize and continuously build and deploy Java EE Web profile applications. Ask questions and get answers! Register Now

Under the Radar
April 25 - 26: Mountain View,  CA  
Looking for some disruptive changes in your IT process?  Under the Radar offers the opportunity to connect and learn from over 300 executives all about the latest technology that is disrupting the way business is done. Get insight from Steven G. Harris, senior VP of products at CloudBees, on how you can capitalize on the CloudBees Java Platform as a Service.

Cloud Developer Conference
April 28: Bangalore, India
Vivek Pandey's What PaaS Can Do For You session offers up the next generation of cloud development technology - allowing you to simplify and streamline the entire application process and accelerate application deployment while reducing cost and increase productivity. Learn how to alleviate development pain points.

We hope to see you at one of these events! Where will the Bees go to next? Be sure to check back to see where we'll be in May. Our up to date monthly events can be seen here, at any time.
Happy April!

Alyssa Tong
Events Manager

Follow CloudBees:
Facebook Twitter

Wednesday, April 4, 2012

The Butler's Service: A Special Offer for our European Jenkins Community!

Hi All,

We have just increased our enrollment capacity for the Jenkins User Conference (JUC) Paris, to be held on April 17th. The enthusiastic response to our first-ever Paris JUC has been terrific – and we want to get everyone there! The learning, networking and connecting that occurs within the Jenkins community at JUC is great to see. I saw it in spades last fall in San Francisco and it was terrific. I want every Jenkins user who is able to experience JUC to do so.

Since Mr. Jenkins, our iconic butler, and I are traveling to every JUC conference this year – all six of them – we have worked up a little scheme, with the folks from our sponsor CloudBees, to get YOU there, too.

Here is the deal. Jenkins and I are offering a special Butler’s Service promotion for JUC Paris. Ticket prices recently increased to the full conference price of 206, from a previously discounted rate of 104. The registration fee is needed to cover the cost of the conference, but we realize this can get in the way of people trying to attend. As a compromise, on this Thursday and Friday, 5-6 April, we will reduce the ticket price to the lower advance registration special pricing that was in effect. So on Thursday and Friday, you can still register for JUC Paris at the lower 104 price. (For anyone who paid the full conference price, we will refund the difference.)

Let Your Friends and Colleagues Know About This Special Offer!

To experience what JUC is like, watch the highlights video from our San Francisco conference. It will give you a feel for the quality of our speakers, the learning – and, yes, the fun that went on!

We have a lot to share with you on April 17. In addition to all of the great sessions we are offering, there will be some exciting updates and other news to share about our favorite continuous integration platform. You will want to be there to hear and see it all, first hand.

I hope to see you on April 17 in Paris - be sure to sign up by end-of-day, Friday, and take advantage of this great deal served up by the Butler! (NOTE: We have since extended the Butler's Service promotion right up until 17 April. We want everyone who can attend to be able to do so.)

Kohsuke Kawaguchi
Founder, Jenkins CI


Follow CloudBees:
Facebook Twitter 

Tuesday, April 3, 2012

Jenkins UI Improvements!

The process of UI improvement can easily turn into an infinite debate -- you will find as many opinions as users. But during the last few months, the Jenkins community took on the challenge of UI enhancement. We know that we still have a long way to go. The new Jenkins UI is certainly better than old school CI xml configuration files, but still far from some recent, flashy web sites.

Here's a little bit about the process... Some ideas were discussed on the Jenkins mailing list and at the governance meetings, and also collected on During FOSDEM, we took advantage of the fact that many major contributors were co-located for the conference. We were able to take 2 hours to discuss some enhancements that provided significant benefits for users, but that we could implement without requiring a complete refactoring. Some of these improvements are implemented in recent jenkins releases (1.456+).

Dynamic Pop-up Menus
You may like or dislike the general look and feel of Jenkins UI, but a major complaint we heard from users is the number of clicks required to navigate. The UI already had breadcrumbs so you could move up the hierarchy to your job or view. But if you wanted to fix a build parameter, even this shortcut could require up to 3 page loads to switch from a test result detail view to the job configuration.

The most visible change in 1.456 is the addition of dynamic pop-up menus on breadcrumbs and item lists. This menu is generated from UI links based on the underlying model item and displays the associated actions, which you used to see on the left-hand sidebar.

This menu let you access the major features for each level of the Jenkins hierarchical model, so that you don't spend time navigating the UI.

Job Configuration Page Improvements
Some other enhancements focus on making the job configuration page simpler to use. The Save button now has a companion Apply button, so that you can stay on the configuration form when you're adjusting some configuration option. Those buttons also stay on the bottom of your browser, so that you don't have to scroll down the (sometime long) page to hit Save (or in the case of my French UI below, "Sauver").

Show Plugin That Contributed an Option
Another improvement, designed to help administrators and support teams, is that each option you see in the configuration form can now have a small note, on the Help tip, to let you know which plugin contributed this option. With a large set of plugins installed, it is sometimes not intuitive to know who contributed an option, nor where to search for documentation. You now just have to click the link!

Faster Configuration Page Load Time
A more invisible improvement is about the configuration page load time. For large projects, with many plugins installed on Jenkins, loading a job configuration page sometime took seconds, with the user waiting for the grey "loading" glass window to disappear. Some internal improvements and best practices for plugin developers have been defined to avoid this delay and make the UI quicker.

As you can see on the wiki, there is still a large set of ideas to be implemented, some of which are being prototyped by contributors. Some others are trying to refactor the HTML design using some modern javascript / css frameworks. As always in the Jenkins community, we will ensure backward compatibility, but it's time for Jenkins to polish its UI so we can be not only the best CI tool, but also a great-looking one.

Senior Engineer

Follow CloudBees:
Facebook Twitter