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
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 | {} |
{
"bamboo-agent": {
"server": {
"address": "my-bamboo-url"
},
"agents": [
{"id":"1", "capabilities": {"system.builder.command.Bash": "/bin/bash"}},
{"id":"2"}
]
},
"run_list": [
"recipe[bamboo-agent]"
]
}
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
- Fork the repository on Github
- Create a named feature branch (like
add_component_x
) - Write your change
- Write tests for your change (if applicable)
- Run the tests, ensuring they all pass
- Submit a Pull Request using Github
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.