Jenkins-as-Code: Creating Jenkins jobs with text, not clicks

This is the first in a series of posts on how we upped our Jenkins game by treating Jenkins jobs as code, rather than pointing-and-clicking to create jobs. In this series, I’ll cover: the problems we had as our Jenkins use scaled throughout the organization the target conditions we wished to achieve how we addressed those problems using the job-dsl-plugin along with some sugar on top what the development workflow looks like what a realistic set of jobs looks like for a sample project the sugar we built on top of job-dsl-plugin how we encouraged adoption of this approach across teams … Continue reading Jenkins-as-Code: Creating Jenkins jobs with text, not clicks

The Curious Case of the Slow Jenkins Job

When I started work this morning, I expected a normal manager day: emails, meetings, shepherding some proposed infrastructure changes through our change management process. That was not to be. What followed instead was most of the day on the edge of my limited Linux troubleshooting abilities, trying to diagnose performance degradation on our production Jenkins server. Around 10:30 AM, Andy messaged me: “Anecdotal Jenkins slowness. Something that regularly takes 3 minutes on my machine takes 18 minutes on Jenkins” This is a story about troubleshooting. Prologue: The environment This story’s main characters are RHEL, Jenkins, New Relic, job-dsl-plugin, and the … Continue reading The Curious Case of the Slow Jenkins Job