bamboo_agent

Advanced management of Atlassian Bamboo agents

Cintia DR

cintiadr

8,828 downloads

6,158 latest version

2.3 quality score

Version information

  • 0.0.14 (latest)
  • 0.0.13 (deleted)
  • 0.0.11
  • 0.0.10
  • 0.0.9
released Feb 5th 2017
This version is compatible with:

    Start using this module

    Documentation

    cintiadr/bamboo_agent — version 0.0.14 Feb 5th 2017

    bamboo_agent

    Fork of [kayakco/bamboo_agent] module. Supports now ubuntu14 and multiple bamboo agents on different users on the same machine.

    A Puppet module 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 an agent's wrapper.conf
    • Manage agent capabilities

    Examples

    Install a single Bamboo agent in /usr/local/bamboo.

    class { 'bamboo_agent':
      server_url => 'http://your.bamboo.server:8085',
    }
    

    Install two Bamboo agents in /home/bamboo.

    class { 'bamboo_agent':
      server_url  => 'http://your.bamboo.server:8085',
      agents      => [1,2],
      install_dir => '/home/bamboo',
    }
    

    Advanced Examples

    Install two Bamboo agents. Give agent 1 extra heap space by setting the wrapper.java.maxmemory property in wrapper.conf.

    class { 'bamboo_agent':
      server_url => 'http://your.bamboo.server:8085',
      agents     => {
        '1' => {
          'wrapper_conf_properties' => {
             'wrapper.java.maxmemory' => '4096',
          }
         },
        '2' => {},
      }
    }
    

    Install two Bamboo agents. Give the second agent some custom capabilities.

    class { 'bamboo_agent':
      server_url => 'http://your.bamboo.server:8085',
      agents     => {
        '1' => {},
        '2' => {
          'manage_capabilities' => true,
          'capabilities'        => {
             'system.builder.command.Bash' => '/bin/bash',
             'hostname'                    => $::hostname,
             'os'                          => $::operatingsystem,
          }
        }
      }
    }
    

    Install six bamboo agents. Give them all the hostname and Bash capabilities from the previous example, as well as a custom capability called reserved. Make reserved default to false, but true for agent 2.

    class { 'bamboo_agent':
      server_url           => 'http://your.bamboo.server:8085',
      agent_defaults       => {
        'manage_capabilities' => true,
      },
      default_capabilities => {
        'system.builder.command.Bash' => '/bin/bash',
        'hostname'                    => $::hostname,
        'reserved'                    => false,
      },
      agents => {
        '1' => {},
        '2' => {
          'capabilities' => { 'reserved' => true }
        },
        '3' => {},
        '4' => {},
        '5' => {},
        '6' => {},
      }
    }
    

    See init.pp and agent.pp for more details.

    Notes

    Capabilities are configured using the bamboo-capabilities.properties file

    It is strongly recommended to use Hiera automatic parameter lookup to configure agents. Below is the final example from above, translated into Hiera configuration format:

    ---
    bamboo_agent::server_url: http://your.bamboo.server:8085
    bamboo_agent::agent_defaults:
      manage_capabilities: true
    bamboo_agent::default_capabilities:
      "system.builder.command.Bash": /bin/bash
      hostname: "%{::hostname}"
      reserved: false
    bamboo_agent::agents
      1:
      2:
        capabilities:
          reserved: true
      3:
      4:
      5:
      6: