Jenkins: invest in the infrastructure, not just the tool
Jenkins has built a reputation as arguably the most popular build automation tools – with over 1,650,000 global users at the time of writing. With an unparalleled plugin ecosystem, Jenkins supports project build, deployment, automation and practically every tool within your delivery pipeline.
Its increasing popularity has seen a broader range of teams, with varying degrees of technical skill, adopting Jenkins as their driver to Continuous Delivery.
Due to their lack of technical knowledge, these teams require a more bespoke user interface. Enter Blue Ocean, a plugin that introduces a new user interface that makes Continuous Delivery more accessible to this new audience, without sacrificing any of the power of Jenkins.
Whilst this is an impressive use of the platforms, other organisations haven’t been quite as successful as integrating secondary technologies and are struggling to get the results they expect Jenkins to deliver.
Identifying the challenges
When it comes to digital transformation or change programs, issues are more likely to appear when businesses fail to invest in the processes that enable them to get the most out of the tools they choose.
“The tool selection process can be long and protracted. So, when a business settles on a tool, the temptation is to begin using it as soon as possible” says ECS Digital Founder and Managing Director, Andy Cureton.
By neglecting to invest in the infrastructure to support Jenkins and failing to implement best practices for usage and training, businesses are diminishing their chances of a successful implementation.
This is also true when businesses choose to select only parts of Jenkins to implement, rather than in investing in the tools as a whole. Here are some of the most common challenges we find:
Fixing the problem
Making sure that your implementation is architected to support your business from the outset is a key way to avoid the above issues. Here are two real examples that illustrate not only the business challenges, but the solution we have implemented to overcome them:
Example 1: We were engaged by a leading UK financial institution to assist with an issue around the creation of jobs in Jenkins. Upon arrival, we found a monolithic Jenkins instance running around 6,000 jobs. After closer investigation, we discovered that over 5,000 of these had been created by a single individual – an issue caused by a lack of understanding of up-to-date best practice use of features and processes.
To solve the issue, we identified configuration and installation practices that were outdated, and introduced a new roadmap to the team. This roadmap showcased best practices and new processes to follow. We also introduced a new feature to assist with increasing the workflow output. This allowed the tech team lead to create seven templated jobs, replacing the 5,000+ jobs created from the two initial seed jobs.
Example 2: We were brought onboard to help a global integrator of communication products and services for multinational corporations. This was the company’s first Continuous Integration (CI) project in Asia Pacific and received SAT sign-off late last month.
Using open source Jenkins and additional services such as the configuration of Perforce, we successfully delivered the CI implementation. We also had engineering capabilities onsite to provide continuous support during the knowledge transfer and troubleshooting sessions with the client’s project team. This has enabled the client’s team to embrace Jenkins full capabilities, including the infrastructure that supports the tool.
What are my next steps?
You get out of a tool what you put into it so it’s important to take the time to secure the processes around Jenkins. As Andy Cureton says, a process that “works for 10 people may also work for 100, start creaking for 1,000 and completely fail for 10,000”.
If your business is currently using, or is thinking about using Jenkins, we highly recommend investing time in learning the ins and outs of the tool, so you can drive the most value and avoid projects unravelling as you scale.
This March, we are offering hands-on Cloudbees Jenkins training courses in Singapore to help teach you the basic principles; from how to set up, configure and administer Jenkins, to learning about Declarative Pipeline using Blue Ocean Editor and the Blue Ocean text editor.
Be quick! This course sells out fast: