Defining a new JDK capability
A JDK must be installed, and defined in Bamboo as a capability, before Bamboo can make use of it when building jobs.
At least one JDK was automatically defined when you installed Bamboo. You can define additional JDK capabilities that are:
On this page:
Note that if an agent has its own specific JDK capability, that value will override the value of a shared JDK capability of the same name (if one exists).
Defining a JDK capability on an agent
To define a new agent-specific JDK capability:
- From the top navigation bar select > Build resources > Agents.
- Select the name of the required agent.
- Go to the Capabilities tab, and then Add capability.
- Select Capability type > JDK.
- In the JDK label field, type a name/label for the JDK. Bamboo displays this in the Build JDK list whenever a job's builder is configured.
- In the Java home field, type the location of the JDK Home Directory.
- Select Add.
Defining a local server JDK capability
Local server capabilities are inherited by all local agents.
To define a new local server JDK capability:
- From the top navigation bar select > Build resources > Server capabilities.
- From the Add capability section select Capability type > JDK.
- In the JDK Label field, type a name/label for the JDK. Bamboo displays this in the Build JDK list whenever a job's builder is configured.
- In the Java Home field, type the location of the JDK Home Directory.
- Select Add.
Defining a shared remote JDK capability
Shared remote JDK capabilities are not shared with elastic agents.
To define a new shared remote JDK capability:
- From the top navigation bar select > Build resources > Agents > Shared remote capabilities.
- Select Capability type > JDK.
- In the JDK Label field, type a name/label for the JDK. Bamboo Bamboo displays this in the Build JDK list whenever a job's builder is configured.
- In the Java Home field, type the location of the JDK Home Directory.
- Select Add.
Notes
- Configuring generic JDK capabilities — If you want to indicate that an agent is capable of running builds for a set of related JDKs (e.g. all point versions of JDK 1.5), you set up generic JDK capabilities to encompass these JDKs.
For example, you can set up the following JDK capabilities for your Bamboo agent(s):- JDK (where 'JDK Label' = '
JDK
' and 'Java Home' = '/usr/java/jdk1.5.0_07
') — this JDK capability indicates that an agent(s) is capable of running builds with any JDK requirement. - JDK 1.5 (where 'JDK Label' = '
JDK 1.5
' and 'Java Home' = '/usr/java/jdk1.5.0_07
') — this JDK capability indicates that an agent(s) is capable of running builds with a JDK 1.5 requirement or any point version of JDK 1.5, e.g. 1.5.0_07, 1.5.0_08, etc. - JDK 1.5.0_07 (where 'JDK Label' = '
JDK 1.5.0_07
' and 'Java Home' = '/usr/java/jdk1.5.0_07
') — this JDK capability indicates that an agent(s) is only capable of running builds with a JDK 1.5.0_07 requirement.
- JDK (where 'JDK Label' = '
- If you wish to find redundant JDK capabilities, you can view the list of JDK capabilities set up in Bamboo and delete any unwanted JDK capabilities.
- Automatically defined capabilities – This depends on the system environment variables (e.g. '
JAVA_HOME=/opt/java/java_sdk1.5
') that were present on the machine on which Bamboo was installed:
- On the Bamboo server, environment variables that were present during installation were saved as shared local capabilities in Bamboo.
- On remote agents, environment variables that were present during installation were saved as agent-specific capabilities in Bamboo.