Skip to content

Instantly share code, notes, and snippets.

@nvalentine-puppetlabs
Last active August 29, 2015 14:11
Show Gist options
  • Save nvalentine-puppetlabs/e6a0cd08562211cd8ae2 to your computer and use it in GitHub Desktop.
Save nvalentine-puppetlabs/e6a0cd08562211cd8ae2 to your computer and use it in GitHub Desktop.
Jenkins Job Builder YAML for testing Puppet modules
site::profile::jenkins::master::plugins:
buildresult-trigger:
version: 0.17
copyartifact:
version: 1.32.1
matrix-project:
version: 1.4
scm-api:
version: 0.2
credentials:
version: 1.18
mailer:
version: 1.11
parameterized-trigger:
version: 2.4
ssh-credentials:
version: 1.10
git-client:
version: 1.12.0
token-macro:
version: 1.10
git:
version: 2.3.1
ansicolor:
version: 0.4.0
build-failure-analyzer:
version: 1.10.3
build-monitor-plugin:
version: 1.6+build.132
buildgraph-view:
version: 1.1.1
build-flow-plugin:
version: 0.17
greenballs:
version: 1.14
workflow-aggregator:
version: 1.0
---
- scm:
name: github.com:nrvale0/puppet-postfix
scm:
- git:
url: https://github.com/nrvale0/puppet-postfix
- job-template:
name: '{name}-puppet-module-init'
description: 'Initialize the Workspace for testing of Puppet module {name} '
scm:
- github.com:nrvale0/puppet-postfix
builders:
- shell: 'bundle install && zip -r {name}.zip ./'
publishers:
- archive:
artifacts: '{name}.zip'
allow-empty: false
fingerprint: true
- job-template:
name: '{name}-puppet-module-syntax'
description: 'Syntax checking of Puppet module {name} '
triggers:
- build-result:
cron: '* * * * *'
groups:
- jobs:
- '{name}-puppet-module-init'
results:
- stable
builders:
- copyartifact:
project: '{name}-puppet-module-init'
filter: '{name}.zip'
- shell: 'unzip -o nrvale0-postfix.zip && bundle exec rake syntax'
- job-template:
name: '{name}-puppet-module-lint'
description: 'puppet-lint checking of Puppet module {name} '
triggers:
- build-result:
cron: '* * * * *'
groups:
- jobs:
- '{name}-puppet-module-syntax'
results:
- stable
builders:
- copyartifact:
project: '{name}-puppet-module-init'
filter: '{name}.zip'
- shell: 'unzip -o nrvale0-postfix.zip && bundle exec rake lint'
- job-template:
name: '{name}-puppet-module-unit'
description: 'Unit/respec testing of Puppet module {name} '
triggers:
- build-result:
cron: '* * * * *'
groups:
- jobs:
- '{name}-puppet-module-lint'
results:
- stable
builders:
- copyartifact:
project: '{name}-puppet-module-init'
filter: '{name}.zip'
- shell: 'unzip -o nrvale0-postfix.zip && bundle exec rake spec'
- job-template:
name: '{name}-puppet-module-acceptance'
description: 'Acceptance/serverspec testing of Puppet module {name} '
triggers:
- build-result:
cron: '* * * * *'
groups:
- jobs:
- '{name}-puppet-module-unit'
results:
- stable
builders:
- copyartifact:
project: '{name}-puppet-module-init'
filter: '{name}.zip'
- shell: 'unzip -o nrvale0-postfix.zip && bundle exec rake accceptance'
- job-group:
name: '{name}-puppet-module-tests'
description: 'multi-level Puppet module testing for {name} '
jobs:
- '{name}-puppet-module-init'
- '{name}-puppet-module-syntax'
- '{name}-puppet-module-lint'
- '{name}-puppet-module-unit'
- '{name}-puppet-module-acceptance'
- project:
name: nrvale0-postfix
description: '{name} Puppet module testing '
jobs:
- '{name}-puppet-module-tests'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment