Continuous Integration for your Puppet code via Atlassian Bamboo.
This is a plugin for Atlassian Bamboo, integrating Puppet tools such as puppet-lint, puppet parser validate and MCollective.
The goal is to fully-automate continuous deployment of Puppet code via Jira.
-
Download and install from the Atlassian Marketplace
-
Install the puppet-lint gem on bamboo (gem install puppet-lint).
-
Setup the bamboo capability for puppet-lint:
In Bamboo click the Gear icon in the upper right corner, and go to Overview -> Server Capabilities
Click "Detect server capabilities", Puppet Lint should show up. If it does not, try to manually add it via the "Add capability" Drop down. It should be:
Capability type: Executable
Type: builder.lint.executableName
Executable label: Puppet Lint
Path: /usr/bin/puppet-lint # or wherever the fully-qualified path to the executable is
Via a Bamboo task, this plugin enables you to run:
- Puppet Lint - Enforce Puppet style guidelines
with
puppet-lint
For Puppet RSpec testing, see the Bamboo Rake Plugin
The Puppet Lint Task requires the puppet-lint gem to be installed on build agents. See http://puppet-lint.com for installation instructions and explanation of the various options.
This plugin has not been tested on Windows. Reports (postive and negative) welcome.
If you find a bug in puppet-lint or its results, please create an issue in the issue tracker. Bonus points will be awarded if you also include a patch that fixes the issue.
I don't consider myself a Java Developer, so please bear this in mind. Non-bugfix code improvements are also very welcome.
Many thanks to the following people:
- Tim Sharpe (@rodjek) - Author of puppet-lint
- Liam Monahan (@spicybits) - Fixes and maintenance
Copyright 2013 Simon Croome
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.