Two weeks worth of work has culminated in the release of the Release 0.0.1 of the Puppet CI Appliance. The appliance needs quite a bit of work to truly be production ready but it provides a glimpse into the capabilities that the solution will offer.
- Automated Jenkins configuration
- Ephemeral Docker based Jenkins slaves
- Automated Jenkins Job for Puppet Control Repository
- Web UI
Let's go ahead and install the PuppetCI appliance solution.
Requirements The only real requirement is a CentOS 7 instance and git to get started.
Download Puppet CI Repository
git clone https://github.com/martezr/puppet-ci.git
Install Puppet CI Appliance
With the repository downloaded let's start the install
Make the install script executable
chmod +x puppet-ci/puppetci.sh
Run the script. The installation takes roughly 20 minutes depending upon the internet connection.
Now that we've got everything installed let's configure the appliance.
Enter the following address in a web browser
Enter the SSH Key to be used to access the Puppet control repository and click "Submit".
Click on the "Puppet" link on the left sidebar to configure the Puppet control repository.
Enter the URL of the of the Puppet control repository in the "Puppet Control Repository URL" text box and click "Submit" to add the control repository.
All the other features on the page are for demonstration purposes
Now that we've configured the appliance let's go to our Jenkins instance. If all went well then we should see a test.controlrepo job that will pull our repo and perform a few checks on it.
While that doesn't seem particularly interesting it does provide us with an excellent starting point for building additional functionality.