Bamboo 3.4 : Configuring a Shared JDK Capability

Once you have configured a new JDK capability in your Bamboo system, its label (e.g. '1.5') will appear in the Build JDK dropdown list when you configure a Job's builder (see Configuring Tasks). The JDK you select will be used for every one of that Job's builds. That is, the Job can only be built by agents which have a JDK capability whose label is specified in the Job's Build JDK field. Shared capabilities are inherited by all applicable agents, that is, (shared) local server capabilities are inherited by all local agents, and shared remote capabilities are inherited by all remote agents. Note, however, that the value of a shared capability will be overridden by the value of an agent-specific capability of the same name (if one exists).

Configuring a New Local Server JDK Capability

Before you begin:

To configure a new local server JDK capability:

  1. Click the 'Administration' link in the top navigation bar.
  2. Click the 'Server Capabilities' link in the left navigation column to display the Server Capabilities page, which lists all local server capabilities currently defined in your Bamboo system.
  3. In the Add Capability section at the end of the page (see screenshot below), select 'JDK' from the 'Capability Type' dropdown list.
  4. In the 'JDK Label' field, type a name/label for the JDK, which Bamboo presents in the 'Build JDK' dropdown list whenever a Job's builder is configured.
  5. In the 'Java Home' field, type the location of the JDK Home Directory.
  6. Click the 'Add' button. This will verify whether the JDK and Path you have specified are valid. If they are not, re-enter the values and then click the 'Add' button again.

Configuring a New Shared Local Remote JDK Capability

To configure a new shared remote JDK capability:

  1. Click the 'Administration' link in the top navigation bar.
  2. Click the 'Agents' link in the left navigation column to display the Agents page, which lists all Local and Remote Agents that currently exist in your Bamboo system.
  3. In the Remote Agents section, click the 'Shared Remote Capabilities' link at the right. The Shared Remote Capabilities page is displayed, showing a list of all shared remote capabilities currently defined in your Bamboo system.
  4. In the Add Capability section at the end of this page (see screenshot below), select 'JDK' from the 'Capability Type' dropdown list.
  5. In the 'JDK Label' field, type a name/label for the JDK, which Bamboo presents in the 'Build JDK' dropdown list whenever a Job's builder is configured.
  6. In the 'Java Home' field, type the location of the JDK Home Directory.
  7. Click the 'Add' button. This will verify whether the JDK and Path you have specified are valid. If they are not, re-enter the values and then click the 'Add' button again.


Screenshot: 'Add Capability — JDK'

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.
  • If you have set up redundant JDK capabilities, you can view the list of JDK capabilities set up in Bamboo and delete any unwanted JDK capabilities.
Related Topics

Configuring an Agent-specific JDK Capability