How to go from good to great with Jenkins CI and ECS Digital

How to go from good to great with Jenkins CI and ECS Digital

No comments

Jenkins CI is probably the most widely-used Continuous Integration platform in use today. Started in 2004 under the name Hudson, the platform quickly grew into one of the world’s most-loved Open Source build servers, and was renamed Jenkins CI after forking from the original project with Oracle. Today, Jenkins enjoys one of the most dedicated and active Open Source communities, with contributors from all around the world consistently adding new features, plugins and capabilities to an already robust software platform.

But for all the richness of features that Jenkins CI provides, many users stick to the bare minimum and don’t get as much value as they could out of their use, for example Jenkins new open source pipeline plugin. In this blog, we’ll look at the difference between good and great use of Jenkin CI, and how ECS Digital can help you get the most out of your Continuous Integration software.

Jenkins CI provides an intelligent CI platform – are you making use of it?

First off, it’s worth mentioning that not every CI pipeline needs all the bells and whistles attached – if a basic pipeline is all you need to ensure your software service is delivered on time and to your users’ expectations, you’re already making good use of your software. That being said, virtually every average CI pipeline stands to benefit from a more intelligent CI, even if it’s largely a means of shortening development windows or running more reliable tests. Many organisations use Jenkins as a glorified Cron job that runs static commands at predefined times rather than making the most of one of the thousands of potential plugins and features. The real power of Jenkins CI is its ability to act as an intelligent platform that understands how your software development journey fits together, ensures the output is of highest quality, and keeps the necessary tasks ticking over in the way that works best for your organisation.

Developers all around the world – including some members of ECS Digital – contribute plugins that make it easy to customise and optimise Jenkins CIfor particular needs. There are also a number of plugins that add cross-software support, such as the Docker/Jenkins plugins released in 2015. In this sense, Jenkins becomes much more than a CI tool – by centralising parts of the delivery and deployment pipelines, Jenkins becomes the roadmap and orchestrator for your entire software development journey.

What is the best way to become a Jenkins Jedi?

There’s only so much that you can read about getting the most out of Jenkins CI – for an in-depth understanding of the way the software works, and how to use its advanced features and plugins, it’s essential to have practical, real-world experience. There are a number of platforms for online Jenkins training, as well as some substantial forums, videos and podcasts that discuss best practices for creating Jenkins pipelines, but being walked through a practical example and having the opportunity to question one of our Certified CloudBees Jenkins Platform Engineers should you have any difficulty makes Jenkins training courses a far more beneficial option. For more about the benefits of hands-on DevOps training, read our previous blog on the subject. ECS Digital offers regular Jenkins training courses, ranging from basic introductory classes and general Jenkins best practices in our User course, to managing complex workflows and using Jenkins’ more advanced features in our Admin course. Our courses are a 50/50 split between theory and practical skills, which gives attendees a holistic understanding of how to build a good CI pipeline, and our experienced course instructors work on a one-on-one basis to ensure you get the value you need.

With over 12 years’ experience helping enterprises around the world deliver software faster and at a lower cost through the adoption of DevOps and Continuous Delivery practices, ECS Digital is the perfect DevOps training partner for anybody looking to grow their understanding of DevOps and develop their skills in a variety of software platforms. For more information, or to book a training course, view our upcoming courses by following the link below.

Image credit: tamaramccleary.com

Andy CuretonHow to go from good to great with Jenkins CI and ECS Digital
read more
DevOps: What it isn’t is just as important as what it is

DevOps: What it isn’t is just as important as what it is

No comments

Over the past few years, DevOps has been steadily gaining traction in enterprise IT for the benefit it provides in driving business forward at a faster pace. The results speak for themselves – from ‘unicorn’ companies like Etsy and Netflix, who seem to be able to achieve the impossible through DevOps, down to start-ups and Small to Medium Enterprises (SMEs) who are realising its potential as a way to eclipse their competition.

But as the hype around DevOps continues to grow unabated, many companies fall into the trap of ‘doing DevOps’ at the expense of actually implementing value-adding DevOps practices. In this blog, we’ll look at why effective DevOps adoption depends on understanding what DevOps isn’t,as well as what it is.

“Doing DevOps” isn’t the same thing as adopting DevOps practices.

In an article on DevOps.com, David Geer sums the ‘doing DevOps’ paradox as follows: “No one should be doing DevOps. It’s not an action, it’s not a title, it’s a blanket term for approaches that bridge the gap between traditional operations and development groups.” The first, and most important thing to understand about DevOps is that it isn’t, as Geer says, a title or an action. It is the combination of people, processes and tools, assembled in accordance to guiding principles and best practices that results in a more efficient delivery of better quality software. Many organisations make the principal mistake of creating a ‘DevOps team’ without considering what this truly entails. Creating a specialised DevOps team is counter-intuitive – DevOps makes organisations more efficient by breaking down the barriers that traditionally exist between dev and ops teams, and creating another silo within your organisation will only work against what you’re trying to achieve.

Automation isn’t all there is to DevOps, but it’s an important aspect.

One of the most common misconceptions about DevOps is that it’s just another word for automation. I’ve already discussed why DevOps is more than just automation in some detail in an earlier blog post, but the point is worth reiterating here. Automation constitutes a vital component of DevOps, but automating a few processes doesn’t mean you’ve achieved anything. What you have created are islands of automation where systems are loosely connected often causing further silos of expertise within the ecosystem. Automating the right processes is key to creating value for your business, and this depends on having the necessary insight into the way your business works. As Alan Sharp-Paul says in his blog on UpGuard, “A common misconception for Enterprises commencing their automation journey is that the key preparation work is choosing a tool and training their staff up. These are necessary evils, sure, but the real work is actually gathering requirements. With legacy infrastructure in play, what matters most is getting visibility of current state.

Without visibility into the current state of your business and target objectives, automating processes is akin to drawing names from a hat, at best. In other words, don’t automate what you don’t understand.

Adopting DevOps doesn’t mean downsizing or shedding staff.

DevOps doesn’t mean throwing out all your developers and operations staff and replacing them with an all-star ‘DevOps team’ that can accomplish anything in no time at all. In fact, it’s quite the opposite – DevOps is about empowering your existing staff to achieve more by working more closely together and automating the vital links between traditionally disparate departments. Creating a specialised DevOps team might seem like a great way to fast-track your organisation, but this is counter-intuitive to the benefits that DevOps provides. Ultimately, adoption of DevOps allows you to get more value from your existing workforce, not replace it with another, smaller unit.

DevOps is notoriously hard to define, and it can be even more difficult to adopt without a clear understanding of where you should be heading. ECS Digital has over 12 years’ experience helping organisations in many industries around the world realise the value of DevOps done right providing a independent and agnostic approach to what works best for your organisation. If you’d like to know more about how we could help this become a reality for your organisation, please contact us for a DevOps maturity assessment.

Image Credit: www.linkedin.com

Andy CuretonDevOps: What it isn’t is just as important as what it is
read more