Skip to content

Numergy/bamboo-agent-cookbook

Repository files navigation

Bamboo-agent Cookbook Build Status

A Chef cookbook for managing Bamboo agents.

It can:

  • Install multiple agents side-by-side on a node
  • Ensure agents are running / started up after a reboot
  • Set properties in a agent's wrapper.conf
  • Manage agent capabilities

This cookbook is based on the Puppet module: https://github.com/kayakco/puppet-bamboo_agent

Attributes

bamboo-agent::default

Key Type Description Default
['bamboo-agent']['server']['address'] String Bamboo server address localhost
['bamboo-agent']['server']['protocol'] String Bamboo server protocol localhost
['bamboo-agent']['server']['port'] Integer/String Bamboo server port 8085
['bamboo-agent']['install_dir'] String whether to install bamboo agents /usr/local/bamboo
['bamboo-agent']['installer_jar'] String whether to download the installer "#{node['bamboo-agent']['install_dir']}/bamboo-agent-installer.jar"
['bamboo-agent']['user']['name'] String The username for bamboo agents bamboo
['bamboo-agent']['user']['group'] String The group for bamboo agents bamboo
['bamboo-agent']['user']['manage'] Boolean If the user home must be managed true
['bamboo-agent']['user']['shell'] String The user shell /bin/bash
['bamboo-agent']['capabilities'] Hash The default capabilities {}
['bamboo-agent']['agents'] Hash Agents to deploy {}

Usage

bamboo-agent::default

{
  "bamboo-agent": {
    "server": {
      "address": "my-bamboo-url"
    },
    "agents": [
      {"id":"1", "capabilities": {"system.builder.command.Bash": "/bin/bash"}},
      {"id":"2"}
    ]
  },
  "run_list": [
    "recipe[bamboo-agent]"
  ]
}

Running tests

This cookbook use Rake to run tests suites:

  • First install dependencies:
    bundle install

  • Run all checkstyle tests:
    bundle exec rake test:checkstyle

  • Run all rspec tests:
    bundle exec rake test:specs

  • Run all kitchen tests:
    bundle exec rake test:kitchen

  • Run all tests (checkstyle and rspec):
    bundle exec rake test

Available tests suites:

  • Knife
  • RuboCop
  • Foodcritic
  • ChefSpec
  • Kitchen

Contributing

  1. Fork the repository on Github
  2. Create a named feature branch (like add_component_x)
  3. Write your change
  4. Write tests for your change (if applicable)
  5. Run the tests, ensuring they all pass
  6. Submit a Pull Request using Github

License and Authors

Author Pierre Rambaud pierre.rambaud@numergy.com
Author Antoine Rouyer antoine.rouyer@numergy.com
Copyright Copyright (c) 2014 Numergy

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.