Summary
In this chapter, we reviewed the tools that can help us to write our Puppet code, and manage, test, and deploy it.
We have seen how to enhance our writing experience on Geppetto, Puppet Labs official Puppet IDE, and Vim, a sysadmin's evergreen tool. We also learned how to version and manage code with Git, and how to introduce, eventually, a peer review and approval system such as Gerrit.
We have then seen the different tools and methodologies available to test our code: simple syntax checks that should be automated in Git hooks, style checks with puppet-lint
, unit testing on modules with puppet-rspec
, real-life (and ephemeral) acceptance tests on running virtual machines managed with Vagrant, and tools such as Beaker.
We have finally faced how the Puppet code can be delivered to production with tools such as librarian-puppet
and r10k
.
The execution of these individual tools can be automated with CI tools either to automatically trigger tests when a pull request is made on a GitHub...