Build a Continuous Delivery Toolkit by Puppet Labs


Published on

While it's true that continuous delivery requires serious cultural changes, you also have to think about the toolkit you'll use to create your CD pipeline. This presentation, excerpted from our new ebook, Continuous Delivery: What It Is and How to Get Started, explains the "why" and "what" of building your CD toolkit.

Published in: Technology

Build a Continuous Delivery Toolkit by Puppet Labs

  1. 1. Build a Toolkit For Continuous Delivery
  2. 2. You’re Doing Continuous Delivery When: • Your software is deployable throughout its lifecycle • Your team prioritizes keeping the software deployable over working 
 on new features • Anybody can get fast, automated feedback on the production readiness of their systems any time somebody makes a change to them • You can perform push-button deployments of any version of the software to any environment on demand — Martin Fowler
  3. 3. Continuous Delivery Requires Cultural Change • You’ll start thinking about working as one team, not siloed departments • You’ll start thinking in terms of shared responsibility • You’ll start thinking about errors differently
  4. 4. Continuous Delivery Is a Set of Practices, Not a Set of Tools • Automation • Frequent Releases • Automated Testing
  5. 5. ... But You Need to Think About Your Tools, Too • Monitoring • Continuous Integration • Version Control • Code Review • Configuration Management • Orchestration • Dashboards

  6. 6. Monitoring If you’re going to pick one tool to start with, make it a monitoring tool. Rather than talking about whether 
 it feels like testing is going better, monitoring gives the team data that show whether performance 
 is improving — or deteriorating. Graphite
  7. 7. Continuous Integration Jenkins
 CruiseControl Catch bugs while they’re small, and easier to trace and fix. A CI tool regularly checks the version control system for changes to the application, builds the application, and runs automated tests on each build. 
 It also provides reports on whether each build passed or failed the tests.
  8. 8. Code Review Note which changes are acceptable, 
 and which are not. A code review tool enables you 
 to step through a proposed change 
 to your codebase and see what the differences are. ! Stash
  9. 9. Git
 Mercurial Version Control Version control is the heart of 
 continuous integration Devs
 Keep a record of all tests, scripts, documentation and configuration files Ops
 Record the configuration of your infrastructure across different environments
  10. 10. Configuration Management Keep environments consistent, 
 all the way from the developer’s 
 laptop to production. Configuration management allows 
 you to set the configuration for 
 every resource your application 
 will use, then copy that configuration 
 to more servers, virtual machines, switches, routers and storage servers as you scale.
  11. 11. Orchestration Once your environment is configured, you may need to roll out changes, updates or complete applications 
 in a specific order. Orchestration tools vastly reduce the possibility of human error, and make 
 it possible to scale far beyond what people could do manually. !
  12. 12. Dashboards Continuous delivery isn’t 
 a one-person show. A dashboard should display the 
 status of your test environment and production environment. It should show the status of every node, physical and virtual. ! Bamboo
  13. 13. Tools Are Just Part of the Picture! Ready to Get Started? Download Continuous Delivery:
 What It Is and How to Get Started, 
 by Puppet Labs Download Now