rtyler/puppet-jenkins — pull request #1 by jeffmccune (2011-12-09 19:45:48+00:00)
Title: Add CentOS support and RSpec unit tests

commit ae51c5d5d9c057a9aa2ad36ad563918ab80e9e57
Author: Jeff McCune
Date: Wed Nov 30 09:16:08 2011 -0800

Add basic CentOS support

Without this patch applied, the module only works with debian based
systems. On a CentOS 5 system the apt repository is managed which
doesn't make sense.

This patch splits out the jenkins::repo class into a dispatcher class
pattern to allow specific centos and debian based implementations.

The yum configuration for EL systems sets up the repository but does not
manage GPG keys so package verification is not yet enabled.

In addition, anchor resources have been added to the jenkins::repo
dispatcher class to ensure the jenkins::repo::el and
jenkins::repo::debian implementation classes don't "float off" in the
relationship graph as per #8040.

commit f632dc6af09267856000d535f3f0eed48dde1795
Author: Jeff McCune
Date: Wed Nov 30 09:44:57 2011 -0800

Add jenkins-ci.org YUM repo GPG Key

Without this patch the jenkins module has basic support for CentOS 5 but
cannot verify GPG signatures of the RPM packages.

This patch adds the GPG public key directly into the module, manages the
key on disk as a file resource, and imports the key into the RPM
database using an exec resource.

commit 36286ede08158519b2a4a5f31f94937c5f0bbd79
Author: Jeff McCune
Date: Wed Nov 30 10:07:31 2011 -0800

Add service resource to jenkins module

Without this patch the jenkins module doesn't actually bring up the
service. This patch fixes the problem on EL based systems by adding a
jenkins::service class. The behavior for debian based systems remains
the same, no service resource is managed.

commit 3ca46869fdf9afbadbde8e76d724facc90c1e605
Author: Jeff McCune
Date: Wed Nov 30 14:40:36 2011 -0800

Add jenkins::git inert class by default

This change changes the jenkins module to define a new jenkins::git
class. The new jenkins::git class uses the already defined
install-jenkins-plugin defined resource type to install the Git plugin.
The change should automatically restart the jenkins service when Puppet
manages the new plugin.

The change itself is inert to preserve the existing behavior of the
jenkins module. This should not be an API breaking change. An example
of how to take advantage of this new class is provided in the
tests/site.pp file.

commit a4293b29d1a1e4b37993f283dbb8d15db485d3da
Author: Jeff McCune
Date: Mon Dec 5 14:57:53 2011 -0800

(maint) Add Modulefile for puppet-module tool and forge

Without this patch, no module metadata file exists. This makes using
the module with the puppet-module [1] tool difficult. This patch adds a
basic Modulefile to work with the puppet-module build command.

The Modulefile needs to be updated with the LICENSE information for this
module. I could not figure it out from the repository or commit
history.

With this patch, this module may be built using:

% rake build
===========================================================
Building /Users/jeff/vms/puppet/modules/jenkins for release
-----------------------------------------------------------
Done. Built: pkg/rtyler-jenkins-0.0.1.tar.gz

The built module may be installed using the puppet module tool. The
built module package may also be uploaded to the Forge.

commit e932188a3034fb717f83fe59feeae985b361a300
Author: Jeff McCune
Date: Mon Dec 5 15:03:59 2011 -0800

(maint) Ignore pkg/* tmp/* and README.pdf in VCS

Without this patch, files created by the puppet-module build command
remain in the working copy and cause the version control system to
consider the tree as dirty.

This patch adds a .gitignore file to ignore these files created by the
build tool.

commit 96e981da1cd94629e4b6e0dee3332af0fe24640d
Author: Jeff McCune
Date: Mon Dec 5 21:13:54 2011 -0800

Add rspec tests, README, and Rakefile

Without this patch no behavior tests exist for the Jenkins module. This
patch lays the foundation for spec testing using the rspec-puppet gem.
A Rakefile with a default task of spec provides the command line
interface to running the spec test suite.

This patch requires the rspec-puppet 0.1.0 gem to be installed and
available to Ruby. Only one test exists to exercise the testing
framework. Rspec will validate a Puppet manifest with a simple "include
jenkins" statement will compile into a catalog which contains the
jenkins class.

I've tested the spec testing with the following integration:

* puppet v2.7.6
* facter v1.6.3
* stdlib v2.2.0
* rspec-puppet v0.1.0

The README is updated by this patch to describe how to run the test
suite and install necessary dependencies.

commit ee7372893dca11cef087a78e8e049fdf20e0b521
Author: Jeff McCune
Date: Mon Dec 5 22:23:21 2011 -0800

Add LICENSE under Apache 2.0

I emailed R. Tyler Croy tyler@monkeypox.org and he's agreed to license
the module under Apache 2.0. This patch includes the license text and
attributes copyrights to R. Tyler Croy tyler@monkeypox.org.