Elastic Bamboo allows you to use computing resources from the Amazon Elastic Compute Cloud (EC2) to run builds. Elastic Bamboo uses a remote agent AMI (Amazon Machine Image) to create instances of remote agents in the Amazon EC2.
Please note that automatic management of elastic agents is not currently supported by Bamboo deployment projects. Deployment projects currently require an associated elastic agent to be started manually. Please see BAM-13588 for more information.
1. Read important documents
If you are using Elastic Bamboo for the first time, we highly recommend that you start by reading the following important documents:
- About Elastic Bamboo — This high-level overview explains the key concepts behind the Elastic Bamboo feature.
- Elastic Bamboo Security — We strongly recommend that you read this document to understand the security implications of enabling Elastic Bamboo. This includes important information on securing your version control system (VCS) for use with Elastic Bamboo.
- Elastic Bamboo Costs — Elastic Bamboo sources resources from the Amazon Elastic Compute Cloud (EC2) which are charged separately to your Bamboo license fee. We recommend that you read this document to understand how you will be charged for using Elastic Bamboo.
2. Enable and configure Elastic Bamboo
Once you have understood the concepts, security implications and costs of Elastic Bamboo, you can enable and configure Elastic Bamboo for your Bamboo installation. You will also need to make your version control system (VCS) available to Amazon for Elastic Bamboo to work correctly.
2.1. Enabling Elastic Bamboo
To enable Elastic Bamboo:
Enable remote agent support in Bamboo — if you have disabled remote agent support, you must enable it before you can enable Elastic Bamboo.The Disabling and enabling remote agents support documentation also contains instructions on how to enable remote agent support.
- In Bamboo, click Administration in the top menu bar.
- Click Configuration in the left navigation panel (under 'Elastic Bamboo'). The 'Elastic Bamboo Configuration' screen will display.
- Click Enable.
2.2. Configuring Elastic Bamboo
Before you can use Elastic Bamboo, you must configure it as detailed in the 'Configuring Elastic Bamboo' document. This is a simple three-step process:
- Provide your Amazon Web Services account details
- Configure your Elastic Bamboo global settings
- Configure your elastic instance settings
- Read the Configuring Elastic Bamboo document.
2.3. Providing access to your VCS
You need to make your version control system available to Amazon to run job builds using Elastic Bamboo. This has security implications, particularly if your VCS is behind a firewall.
- Read the Elastic Bamboo Security document for further instructions, if you have not read it already.
3. Start an Elastic Instance
Now that you have enabled and configured Elastic Bamboo for your Bamboo installation, you can try building a plan with Elastic Bamboo. You can manually start an elastic instance using the Bamboo administration console. Starting an elastic instance will automatically start an elastic agent process on it.
- Read about starting an elastic instance
4. Run a plan build
To run a plan build on your elastic agent, you must set up a plan with its Default Job (plus any other optional jobs) all of whose requirements can meet your elastic agent's capabilities. Elastic agents inherit the capabilities of the image they are started from. We recommend that you use the Bamboo default image to start with.
- Read about the capabilities of the default image.
For the purposes of this guide, you should set up your plan so that its jobs' requirements can only be met by the elastic agent's capabilities. This will ensure that the jobs' builds run on your elastic agent. If you cannot set up your jobs' requirements to meet your elastic agent's capabilities, you can customise your elastic agent's capabilities to add a unique custom capability, e.g. '
- Read about configuring the capabilities of elastic agents.
Tip: You can significantly reduce the costs and time taken to run a job build by configuring Elastic Bamboo to use Amazon's Elastic Block Store (EBS).
5. Shut down your Elastic instance
When your job builds successfully, shut down your elastic instance. As described in Elastic Bamboo Costs, the bulk of your Elastic Bamboo costs are from instance uptime. We strongly recommend that you shut down your elastic instances when not in use.
- Read about shutting down an elastic instance.
Please note, that when you shut down an elastic instance, the agent process it is running is terminated. This means that elastic agents are not present on the 'Agents' page in Bamboo unless they are online. If you wish to view information about a terminated elastic agent, you can find the agent in the elastic agent usage history.
- Read about viewing your elastic agent usage history.
Congratulations! You have successfully set up and run a job build with Elastic Bamboo.
You may be interested in reading the following related topics below to help you manage and improve Elastic Bamboo's handling of job builds:
- Managing your elastic images, Managing your elastic instances, Managing your elastic agents — information hubs for managing Elastic Bamboo images, instances and agents.
- Elastic Bamboo FAQ — general questions about running builds using Elastic Bamboo.
- Configuring elastic instances to use the EBS — information on configuring Elastic Bamboo to use the Amazon Elastic Block Store (EBS) to improve job build times.