Forge Home

tester

Installs Jenkins with a preconfigured Puppet Lint repo test

9,229 downloads

9,229 latest version

4.5 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.1.0 (latest)
released Dec 17th 2014
This version is compatible with:

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'robertmaury-tester', '0.1.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add robertmaury-tester
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install robertmaury-tester --version 0.1.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

robertmaury/tester — version 0.1.0 Dec 17th 2014

tester

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with tester
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module

Overview

Low friction way of working tests into your Puppet module workflow.

Module Description

tester will install Jenkins and a simple job that will clone a git repo and run Puppet Lint tests against it. All plugin prerequisites are accounted for.

Setup

Make sure the rtyler-jenkins module is in your modulepath. The repository containing the code you want to test needs to have a Rakefile defining the tests you want to run. I have borrowed the Rakefile from rtyler-jenkins for my use.

require 'rubygems'
require 'rake'
require 'puppetlabs_spec_helper/rake_tasks'
require 'puppet-lint/tasks/puppet-lint'
require 'puppet-syntax/tasks/puppet-syntax'

exclude_paths = [
  "pkg/**/*",
  "vendor/**/*",
  "spec/**/*",
  "contrib/**/*"
]

# Make sure we don't have the default rake task floating around
Rake::Task['lint'].clear

PuppetLint.configuration.relative = true
PuppetLint::RakeTask.new(:lint) do |l|
  l.disable_checks = %w(80chars class_inherits_from_params_class)
  l.ignore_paths = exclude_paths
  l.fail_on_warnings = true
  l.log_format = "FUK %{path}:%{linenumber}:%{check}:%{KIND}:%{message}"
end

PuppetSyntax.exclude_paths = exclude_paths

task :default => [:lint, :spec, :syntax] 

What tester affects

  • Installs Java and Jenkins via the rtyler-jenkins module.

Usage

Parameters -

git_repo (required) - String. The repository of the module (or modules) you want to test. configure_firewall (optional) - Boolean. Set to false if you are not configuring iptables on your host. Defaults to true.

Limitations

Only tested on RHEL 6 and Puppet Enterprise

Development

Pull requests are welcome at https://www.github.com/robertmaury/puppet-tester