Puppet CI Appliance Release 0.0.1

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.

Features

  • Automated Jenkins configuration
  • Ephemeral Docker based Jenkins slaves
  • Automated Jenkins Job for Puppet Control Repository
  • Web UI

Installation

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.

sh puppet-ci/puppetci.sh  

Configuration

Now that we’ve got everything installed let’s configure the appliance.

Enter the following address in a web browser

http://appliance_ip/jenkinssettings.html  

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.

http://appliance_ip:8080  

While that doesn’t seem particularly interesting it does provide us with an excellent starting point for building additional functionality.