This page last changed on Feb 26, 2008 by alui.

Upgrading to Bamboo 2.0 Beta 1

If you are using a version of Bamboo prior to version 1.2, you will need to upgrade Bamboo to version 1.2 before you can upgrade to the 2.0 Beta. Note that the upgrade process from version 1.0.x is different from the upgrade process from version 1.1.x. Please follow the appropriate instructions below:

Upgrading from Bamboo 1.1.x

You will need to:

  1. Upgrade to Bamboo 1.2 — please see the Bamboo 1.2 Upgrade Guide.
  2. Then upgrade to the desired version of the Bamboo 2.0 Beta, as per the instructions below.

Upgrading from Bamboo 1.0.x

You will need to:

  1. Upgrade to 1.1.2 first — please see the Bamboo 1.1.2 Upgrade Guide. (This step is necessary as there is an issue with the upgrade process from the 1.0.x series that we're currently looking into.)
  2. Then upgrade to Bamboo 1.2 — please see the Bamboo 1.2 Upgrade Guide.
  3. Then upgrade to the desired version of the Bamboo 2.0 Beta, as per the instructions below.


It is strongly recommended that you back up your xml-data directory before proceeding. For full instructions please follow the Bamboo Upgrade Guide. Additionally, please note the following:

1. Adding a Broker URL property.

Bamboo uses a messaging broker to communicate with it's remote build agents. To ensure this works properly, a URL must be specified. This URL is where Bamboo will set up its embedded broker. Remote agents will also be provided with this URL on startup.

To specify the broker URL, please add a bamboo.jms.broker.url property in your bamboo.cfg.xml file, located inside the Bamboo home directory. For example:

<property name="bamboo.jms.broker.uri">tcp://HOSTNAME:54663</property>

where HOSTNAME is the canonical name of your Bamboo server.

Please note, as remote agents use this URL to communicate to the server, you should take care not to specify localhost as the host name in the broker URL.

If no broker URL is found in bamboo.cfg.xml, Bamboo will default the broker URL to tcp://HOSTNAME:54663 in the bamboo.cfg.xml file, as seen in the example above. Bamboo will also append the parameter wireFormat.maxInactivityDuration=0 by default to any broker URL coming from bamboo.cfg.xml.

2. Changes to Server Configuration

JDK support

Bamboo 2.0 requires JDK 1.5 (i.e. JDK 1.4 is no longer supported). Please note that this does not affect the actual builds: it is only the Bamboo server itself that must be running JDK 1.5.

Database changes

The release of 2.0 will include some changes to column names in the database as follows:

  • In the BUILD_DEFINITION table, the column XML_DATA will be changed to XML_DEFINITION_DATA
  • In the BUILDRESULTSUMMARY_CUSTOMDATA table, the column CUSTOM_INFO_DATA will be changed to CUSTOM_INFO_VALUE

These fields have also had types changed to CLOB to increase their maximum lengths.

Plugins

If you are using external or custom plugins, please make sure that your plugins compile against Bamboo 2.0 before upgrading.

We've made significant changes to the internals of the application for Bamboo 2.0. If you've installed an external plugin for 1.2.4, it's likely that it will be broken. Please take care when upgrading.

3. Changes to Build Queues and Build Plans

Bamboo 2.0 introduces the concepts of agents and capabilities. To preserve the functionality of your existing plans, JDKs, Builders and Build Queues, the following will automatically happen during the upgrade:

Conversion of Build Queues to Agents

Prior to Bamboo 2.0, you could have multiple build queues. In Bamboo 2.0, there is now only one build queue, but multiple agents (see diagram).

As part of the upgrade process,

  • Each of your build queues will be converted to a local agent.
  • If, prior to the upgrade, the build queue accepted builds from all plans, the agent will be given the following capability (and every plan will be given an equivalent requirement): 
    • Key: bamboo.1.2.queue
    • Value: ALLOW_ANY_BUILDS
  • Or if, prior to the upgrade, the build queue only accepted builds from specific plans, the agent will be given the following capability (and the relevant plans will be given an equivalent requirement):
    • Key: bamboo.1.2.queue
    • Value: <name of old queue>

If you wish to change this after the upgrade, please see 02. Configuring Agents and Capabilities and 1.2.4 Specifying a Plan's Capability Requirements.

Conversion of Builders to Capabilities

Prior to Bamboo 2.0, your builders (e.g. Maven) were defined globally. In Bamboo 2.0, builders are now defined as agent capabilities and specified as plan requirements.

As part of the upgrade process,

  • Each of your builders will be converted to a shared local capability (that is, it will apply to every local agent).
  • Every plan will continue to have the same builder that it had before the upgrade.

If you wish to change this after the upgrade, please see 2.8 Configuring Capabilities and 1.2.4 Specifying a Plan's Capability Requirements.

Conversion of JDKs to Capabilities

Prior to Bamboo 2.0, your JDKs (e.g. JDK 1.5) were defined globally. In Bamboo 2.0, JDKs are now defined as agent capabilities and specified as plan requirements.

As part of the upgrade process,

  • Each of your JDKs will be converted to shared local capabilities (that is, it will apply to every local agent).
  • Upon conversion, the labels of each of your JDKs will upgraded to the Bamboo 2.0 JDK label format, (i.e. 'JDK 9.9.9_99').
  • Upon conversion, two more generic versions of the labels will be created for each JDK, (i.e. 'JDK 9.9' and 'JDK').
  • Every plan will have its requirements upgraded, to keep the association with the same JDK that it had before the upgrade.

If you wish to change this after the upgrade, please see 2.8 Configuring Capabilities and 1.2.4 Specifying a Plan's Capability Requirements.



1.png (image/png)
Document generated by Confluence on Apr 14, 2008 01:39