Jenkins. The build master in a bow tie that we’ve all grown to rely on. In this new report from Rebel Labs, we’re all over Jenkins like brown on rice, or like JRebel on your classloaders.
In Jenkins CI: The Origins of Butlers, Build Masters and Bowties, we looks at all the angles in Jenkins, covering some history, our favorite features & plugins and even show you how to build Jenkins pipelines the ZeroTurnaround way–plus, we have top it all off with an exclusive interview with our friend Kohsuke Kawaguchi, the originator of Jenkins.
Software plays an increasing part in helping us get things done. We not only expect it to satisfy our rapidly changing needs, work 24/7 and perform well, but also evolve and improve in advance of our expectations. These days, the best software teams release products and features faster and more frequently, while striving to raise the bar on quality. But managing consumer demands with the increasing complexity in how software is released and delivered is not easy.
I was brainstorming in the shower the other day, and I thought “Eureka!” – I need to bootstrap and test my Java app on a dynamic cluster with 800 Tomcat servers right now! Then, breakfast.
Obviously, every now and then you need to build a dynamic cluster of 800 Tomcat machines and then run some tests. Oh, wait, you don’t? Well, lets say you do. Provisioning your machines on the cloud for testing is a great way to “exercise” your app and work on:
- Warming up: Bootstrap a clean slate, install the software, run your tests
- Checking your Processes: Smoke testing for deploying the app to production
- Ensuring success: Checking load handling before launching the application to real clientelle
- Leaving nothing behind: After you’ve got all green lights, shut it all down and watch it disappear
Jenkins is a continuous integration tool that is very often used as a orchestration tool for continuous deployment and delivery. Today, we will look how to do artifact propagation in a Jenkins pipeline for Continuous Delivery. Some of questions I’m thinking about are: