Releng – The Plan

The plan

Everyone loves it when a plan comes together so here’s the general approach to setting up the system:

All the configuration files and Puppet Manifests are stored in a git repository
Changes are made and then committed to the repository before being “pushed” to the CI server
The CI Server (Jenkins in our case) runs a series of tests on the manifests and configuration files
If the tests fail, the build breaks and notifications are sent via Jabber, Email or even a large robotic rabbit…
If the builds pass, the manifests and config files are deployed to the Puppetmaster by Capistrano
A puppet run is forced across all servers using MCollective