Source

Bamboo AWS Plugin /

The branch '1.5.x' does not exist.
Filename Size Date modified Message
.externalToolBuilders
.settings
src
665 B
73.7 KB
89 B
95 B
86 B
329 B
956 B
11.2 KB
611 B
8.7 KB
281 B
5.4 KB

Overview

The Bamboo AWS Plugin adds various AWS related Tasks:

  • AWS CloudFormation Stack - create or delete an AWS CloudFormation stack (a collection of related Amazon Web Services resources).
  • Amazon Elastic Compute Cloud (EC2) Instance - start, stop or reboot provisioned EC2 instances.
  • Amazon Elastic Block Store (EBS) Snapshot - create, delete or backup snapshots of EBS volumes.
  • Amazon Elastic Compute Cloud (EC2) Image - create, delete or backup images of EBS backed EC2 instances.

By adding these Tasks to your build, you can deploy and operate respective AWS resources on demand, e.g. only when needed by the build itself (development) or at specific times of the day (operations). Furthermore, you can enable various development, testing and disaster recovery scenarios by operating backup schedules for EBS volumes and EC2 instances.

This enables you to unleash the power of AWS from Tasks within your build with the following key features:

  • Stack Lifecycle Management - create or delete a CloudFormation stack defined by a template provided via URL or inline and specify template parameters and advanced options.
  • Variable Substitution/Definition - substitute Bamboo variables in CloudFormation template parameters (and some other fields) to customize the stack and reuse variables defined by stack outputs in subsequent Tasks.
  • Instance State Transitions - start, stop or reboot provisioned EC2 instances.
  • Backup Set Management - backup provisioned EBS volumes (via EBS snapshots) or EBS backed EC2 instances (via EC2 images) with retention handling.

Release Notes

1.5.0

Release 1.5.0 adds a Task to create, delete or backup (create/delete with retention) snapshots of EBS volumes and a Task to create, delete or backup (create/delete with retention) images of EBS backed EC2 instances.

1.5.1

Release 1.5.1 fixes image creation failures when Bamboo operates with low latency to the AWS API (e.g. in the same datacenter).

Goals / Usage

The short term goal is mirroring the functionality available via the AWS management console in a Bamboo Task, i.e. creating/updating/deleting a stack with parameters. Familiarity with CloudFormation operation is assumed accordingly, thus the documentation currently covers noteworthy specifics regarding the plugin only.

Installation

Simply navigate to your Bamboo Administration -> Plugin Manager menu, and search for "AWS" under the Install tab.

Sample Templates

The provided CloudFormation sample template URL simply exercises parameter substitution (thus there are no cost implied).

Amazon provides many more AWS CloudFormation Sample Templates - please be aware of the following:

  • You will be billed for the AWS resources used, if you create a stack from a template including non free resources (check the template source, which will indicate this in case).
  • You must reference a template in an S3 bucket in the same region in which you are creating the stack. Each sample template is available in every AWS Region (see 'Using Templates in Different Regions' on the bottom of the referenced URL for details).

The provided CloudFormation sample inline template simply creates a SNS Topic (thus there are no cost implied until you send a significant amount of notifications).

Variable Substitution

To empower advanced build and automation scenarios, it his highly recommended to become acquainted with Using Global, Plan or Build-specific Variables; currently substitutions are enabled within the following Task configuration fields: Stack Name Template URL Template Body Template Parameters

Limitations / Roadmap

You should be aware of the following limitations regarding AWS API coverage and integration:

AWS CloudFormation

  • We have focused on API coverage so far and usability is not up to speed yet accordingly, there is obviously room for improvements, e.g.:
    • Some configuration screen polish should get us a long way already.
    • Fetching existing AWS resources for selection during configuration would avoid manual copying of information.
    • Offering several samples/defaults to ease getting started.
    • ...
  • Updating a stack has been postponed - fixing this is on our list.
  • Stack rollback is currently handled as follows, hopefully covering the majority of use cases (please let us know otherwise):
    • A stack rolled back successfully by CloudFormation is treated as a failed build by Bamboo.
    • A stack not rolled back due to rollback being disabled explicitly is still treated as a failed build by Bamboo.

Amazon Elastic Compute Cloud (EC2)

  • We currently consider instance lifecycle goals (i.e. create/terminate) to be sufficiently addressed by the CloudFormation Task, hopefully covering the majority of use cases (please let us know otherwise).
  • The Task currently supports only one instance at a time, allowing multiple values is forthcoming.

Further down the road we'd like to integrate other AWS services as well.

License

Licensed under the Apache License, Version 2.0, see LICENSE for details.

Changelog

1.5.1

Release 1.5.1 fixes image creation failures when Bamboo operates with low latency to the AWS API (e.g. in the same datacenter).

Bugs

  • BAWS-116 - Fix EC2 Image task failing with 'InvalidAMIID.NotFound'.
  • BAWS-115 - Fix either lack of support for or awareness of instance store backed EC2 Windows instances.

1.5.0

Release 1.5.0 adds a Task to create, delete or backup (create/delete with retention) snapshots of EBS volumes and a Task to create, delete or backup (create/delete with retention) images of EBS backed EC2 instances.

Stories

  • BAWS-78 - As a user, I need a task to create/delete EBS snapshots so that I can backup provisioned EBS volumes.
  • BAWS-99 - As a user, I need a task to create/delete EBS-backed AMIs so that I can backup provisioned EBS-backed EC2 instances.

Improvements

  • BAWS-91 - Add multiple resource handling.
    • The EBS Snapshot Task and the EC2 Image Task currently support multiple resources by id, support for full fledged filters is forthcoming.
    • The EC2 Instance Task still supports only one instance at a time, but support for multiple resources is forthcoming as well.
  • BAWS-74 - Add logo/icon for Plugin.

1.4.0

Release 1.4.0 adds a task to start, stop or reboot a provisioned EC2 instance; in addition it adds event reporting during CloudFormation stack transitions, retrieves AWS configuration data remotely and features some minor usability improvements as well.

Stories

  • BAWS-68 - As a user, I need a task to start/stop/reboot an EC2 instance so that I can use provisioned AWS resources on demand.

Improvements

  • BAWS-48 - Add stable AWS artifact retrieval via missingcloud.
    • Many thanks to Mitch Garnaat for starting this indeed missing cloud data collection!
  • BAWS-66 - Add event reporting during stack transition.
  • BAWS-77 - Adjust configuration screen radio button layout.

1.3.0

Release 1.3.0 adds support for variable substitution for template parameters (and some other fields) as well as variable definition from stack outputs for reuse in subsequent Tasks.

Improvements

  • BAWS-50 - Add variable substitution in template parameters.
  • BAWS-59 - Add variable definition from stack outputs.

Bugs

  • BAWS-58 - Fix templates requiring IAM capability not being usable.

1.2.0

Release 1.2.0 adds support for template specification via URL as well as template parameter input and stack output logging.

Improvements

  • BAWS-44 - Add template parameter handling.
  • BAWS-45 - Add stack outputs handling.
  • BAWS-46 - Add URL based template specification.

1.1.0

Release 1.1.0 adds support for advanced options on stack creation and fixes a major bug with tasks not completing when stack creation is successfully rolled back by CloudFormation; see the changelog below for details.

Improvements

  • BAWS-19 - Add disable rollback option.
  • BAWS-20 - Add creation timeout option.
  • BAWS-21 - Add SNS notification option.

Bugs

  • BAWS-31 - Fix not all completed stack transitions triggering task completion and/or proper task result.
  • BAWS-37 - Fix validation errors not being displayed.

1.0.0

Release 1.0.0 offers support to create and delete parameter-less CloudFormation stacks across all AWS regions.

Stories

  • BAWS-9 - As a user, I need a task to create a CloudFormation stack so that I can provision a collection of related AWS resources.
  • BAWS-10 - As a user, I need a task to delete a CloudFormation stack so that I can terminate a collection of related AWS resources.