The client was using Jenkins for continous integration and delivery. The setup had grown organically with manual modifications for some years and fear of breakage hindered changing the configuration. We stepped in and converted all the Jenkins configurations to infrastructure code, in order to allow controlled changes to Jenkins without having to fear breaking it.
Main technologies
Jenkins Puppet
Benefits
Rapid configuration changes Increased stability Better visibility into changes
1 Starting point
The client had a Jenkins environment that was in active use. However, it frequently broke due to Jenkins upgrades or unmanaged changes to Jenkins configuration. People responsible for Jenkins administration were afraid of making any changes to the system to avoid breaking it. This reduced the usefulness of Jenkins in general, as it could not be quickly adapted to new developer needs.
2 Project
We identified lack of change management and general unreliability of Jenkins as the root cause for the issues the client was having. We could not really affect the general unreliability, so we focused on defining all Jenkins configurations as code - a formidable task at the time. Once Jenkins configuration was defined as code we helped the client implement a proper peer review for all Jenkins changes.
3 End result
The resulting Jenkins setup was much less prone to breakages than the earlier one. Configuration changes were exposed to peer review and even when a bug managed to slip in, it could be rolled back easily. Moreover, new Jenkins instances could be spun up much easier than before.
"Puppeteers helped us resolve our Red Hat Enterprise Linux issue. I'm looking forward to upgrading and improving our clients' production environments and our development setups with their help."
We use cookies to improve your experience while you navigate through the website. You may accept or opt-out of cookies by clicking the relevant buttons, or visit "Cookie Settings" to provide a controlled consent.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc. This information can also be used when interacting with the customer.