Configuring remote agent capabilities using bamboo-capabilities.properties

Still need help?

The Atlassian Community is here for you.

Ask the community

You can define the capabilities for a specific remote agent by using a configuration file on the agent machine. When the Bamboo agent starts up, it will look in the current working directory of the remote agent Java runtime process (i.e. <bamboo-agent-home>/bin when the remote agent is started with the <bamboo-agent-home>/bin/bamboo-agent.sh script.) for a file named bamboo-capabilities.properties. The capabilities defined in that file will then be published for the Bamboo agent after registering.

If the remote agent is started without the wrapper supervisor (as explained here: https://confluence.atlassian.com/bamboo/additional-remote-agent-options-436044733.html), then the current working directory for the Java runtime of the remote agent will be the directory where the Java command is run. In this case the bamboo-capabilities.properties file needs to be located in this directory.


To configure remote agent capabilities:
  1. Shut down the remote agent, if it is running.
  2. Create a file named bamboo-capabilities.properties in the current working directory of the Java runtime process of the remote agent (i.e. <bamboo-agent-home>/bin) on the agent machine.
  3. Edit the bamboo-capabilities.properties file to add capabilities. You need to use the formats shown below:
    Notes: 

    • Use '\' to escape spaces, periods and backslashes ('\'). 
    • All capabilities other than custom capabilities should start with 'system'. 

    JDK capabilities

    system.jdk.JDK\ <jdk number>=<jdk location>

    Examples:

    system.jdk.JDK\ 1.6=/System/Library/Frameworks/JavaVM.framework/Versions/1.6
    system.jdk.JDK\ 1.6=C:\\Program Files\\Java\\jdk6.0.17

    Executable capabilities

    system.builder.<executable type>.<executable label>=<executable path>

    Examples:

    system.builder.ant.Ant=/opt/apache-ant-1.7.1
    system.builder.maven.Maven\ 1=/opt/maven-1.0.2
    system.builder.mvn2.Maven\ 2=/opt/maven-2.0
    system.builder.node.Node.js\ 0.12=/opt/node-0.12/bin/node
    system.builder.devenv.Visual\ Studio\ 2022=/usr/bin/code 

    Version control capabilities

    system.<DVCS>.executable=<DVCS command location> 

    Examples: 

    system.git.executable=/usr/bin/git
    system.hg.executable=/usr/bin/hg

    Perforce capabilities

    system.p4Executable=<perforce executable location>
    Example: 

    system.p4Executable=/usr/bin/p4

    Custom capabilities

    <custom capability name>=<custom capability value> 

    Example: 

    system.os=osx
  4. Save your changes to the bamboo-capabilities.properties file.
  5. Start up your remote agent. The capabilities defined in the bamboo-capabilities.properties file will be configured for your agent.


Create a bamboo-capabilities.properties file, based on an existing Agent

If you are looking to create a bamboo-capabilities.properties file, based on an existing Remote Agent, please check the following KB article:

Last modified on Oct 4, 2023

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.