Get Puppet Enterprise First 10 nodes are free!
Try it now
Request a demo
Automate IT and infrastructure, manage complex workflows, and mitigate risk at scale.
Try the full-featured Puppet Enterprise for free on 10 nodes.
Puppet Comply Find and prevent compliance failures
Compliance Enforcement Modules Remediate to stay in compliance
Continuous Delivery for Puppet Enterprise Build, test, and deploy infrastructure as code faster and easier
Content & Modules Pre-built scripts to automate common tasks
CentOS EOL Here’s how to secure your CentOS infrastructure – even after EOL.
Find thousands of component modules built by the community and guidance on using them in your own infrastructure.
Visit Puppet Forge >>
Open Source PuppetPerfect for individuals and small infrastructure
BoltAutomate tasks in orchestration workflows
See all open source projects >>
Contribute to open source projects >>
Continuous delivery — the ability to ship new and awesome features, updates and patches to your customers more frequently — is key to getting ahead of the competition, and staying there. But do you know how to use continuous integration automation to accelerate delivery? Find out in this blog.
Table of Contents:
Continuous Integration (CI) automation is the process of combining code from different sources into a single software. This is used by DevOps to incorporate patches and other updates into a singular environment. When automated, CI can become a powerful tool for testing code incrementally and frequently.
Continuous integration is both a toolchain and a discipline. It’s less about the specific tooling, though, and more about the practice of continually integrating changes so the system can catch errors and failures while they’re still small and manageable. Your continuous integration system is what gives your team enough confidence in its code to ship frequently. The continuous integration system is necessarily complex, spanning the development, test and staging environments.
For the system administrator, provisioning, configuring and maintaining these environments — and making sure they accurately reflect the production environment — can look like a Sisyphean task. Automation is the key to cutting this task down to size. Just as automation makes server provisioning and patch management easier and more reliable, it can enable you to help your development team deliver code faster.
What scares people most about shipping code frequently is the risk of breaking things. And it’s a realistic fear: Most software is complex, often reaching into multiple parts of the organization. What looks like a small error at first can have far-reaching consequences. Let’s look at each dimension of complexity:
Continuous integration mitigates these risks by testing every new iteration of your code, instead of testing once a day, or once a week. That limits the damage that can be done if something breaks. Testing incrementally also makes it easier to identify and remediate errors. Automation plays an important role here, by eliminating — or at least vastly reducing — the opportunity for people to cause errors. With the risk threshold lowered, it becomes much easier to test frequently. Some organizations get to the point where they’re testing and deploying many times per day, resulting in cleaner code — and ultimately, faster release to customers.
Every system and sub-system in the continuous integration flow has to be monitored and kept consistent over multiple testing cycles — consistent not only to itself, but to every other piece, and to the production environment. Automation makes consistency much easier to achieve, and every piece of continuous integration can be automated:
With every piece automated, you’ve set the stage for testing code both incrementally and reliably. Sure, you might want to spot-check manually once in a while. But without automating the vast majority of your testing, it’s almost impossible to realize the full benefits of continuous integration.
Let Puppet Help You Start Automating
This blog was originally published on June 13, 2013 and has since been updated for accuracy.
Technical Product Marketing Director, Puppet by Perforce