Atlassian Software Systems presents Bamboo 2.0
Upgrading to Bamboo 2.0 is free for all customers with active Bamboo software maintenance as at 14th April 2008.This release introduces the ability to run distributed builds. You will find this particularly useful if you need to run your builds in different geographic locations, or on different platforms. Simply install the new Bamboo Agent on your additional build servers, and your main Bamboo 2.0 server will be able to manage them. We have also provided a number of plugin points in case you need to control your distributed builds programmatically.
Highlights of Bamboo 2.0
In response to the most popular feature on your wish-list, Bamboo 2.0 introduces agents — that is, services which execute builds. These can either run on the Bamboo server ('local agents') or on other machines ('remote agents'), which is particularly useful if you need to run your builds in different geographic locations, or on different platforms.
A single build queue manages the distribution of builds to appropriate agents, using capability matching (see below).
The activity of all agents can be seen on the dashboard:
To enable you to control exactly which agents may execute builds for particular plans, Bamboo 2.0 introduces capability matching:
- A capability is a feature of an agent. A capability can be defined on an agent for:
- an executable (e.g. Maven)
- a JDK
- a Version Control System client application (e.g. Git)
- a custom capability. This is a key-value property which defines a particular characteristic of an agent (e.g. 'operating.system=WindowsXP' or 'fast.builds=true').
Capabilities typically define the path to an executable that has already been installed, and must be defined in Bamboo before Bamboo or its agents can make use of those.
Capabilities can be defined specifically for an agent, or they can be shared between either all local agents or all remote agents. Note that the value of an agent-specific capability overrides the value of a shared capability of the same name (if one exists).
See Configuring capabilities for more information.
- A requirement is specified in a job or a task. A requirement specifies a capability that an agent must have for it to build that job or task. A job inherits all of the requirements specified in its tasks.
Together, capabilities and requirements control which agents can execute builds for particular jobs. Each job can only be built by agents whose capabilities match the job's requirements. See Configuring a job's requirements for more information.
For more details please see these diagrams.
Note that for ease of conversion, the Bamboo 2.0 upgrade process will automatically create appropriate agent capabilities and assign appropriate requirements to all your pre-existing build plans (see the Bamboo 2.0 Upgrade Guide).
Memory usage improvements
The underlying engine for Bamboo has been revamped to decrease memory usage. You will notice a distinct improvement in the performance of your builds, especially if you have very large logs.
Parallel VCS updates and checkouts
No more waiting! Plans can now perform checkouts and updates to your version control system in parallel, rather than serially. Hence, the time taken to run plans will be improved.
Ability to force a 'clean build'
You can now instruct Bamboo to delete the old working files and perform a new checkout of the entire source code directory, before commencing a build.
See the documentation for more details.
Quiet Period functionality supported for Subversion & Perforce
By popular request, Quiet Period parameters can now be specified for Subversion and Perforce when configuring a source repository for a build plan. You can choose to set how long Bamboo should wait after a commit before triggering a build, and the number of times it retries before initiating a build. Read more about configuring Subversion and Perforce source repositories.
Bamboo Plugin for Confluence
Atlassian brings collaboration to the next level with the introduction of the Bamboo plugin for Confluence. Here's some of the build information that your wiki users will be able to have at their fingertips:
- the most recent status of any given build plan.
- the current status of all builds in a project.
- the recent build history of a plan.
- the recent build history of a user across all projects.
- the recent build history of all plans in a project.
- Bamboo charts, including duration of builds, build failures, numbers of test, percentage of test failures and more!
Read more about the Bamboo Plugin for Confluence.
Status Summary screens
See the status of your builds at a glance! Set up a build status monitor for your development team and display Bamboo's new status summary screens. These screens show the status of your builds in a color-coded and easy to view format.