The Bamboo AWS Plugin adds a Task to create or delete a collection of related Amazon Web Services resources via AWS CloudFormation - unleash the power of AWS from a single task within your build!.
Release 1.2.0 adds support for template specification via URL as well as template parameter input and stack output logging.
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.
The provided sample CloudFormation 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 sample CloudFormation inline template simply creates a SNS Topic (thus there are no cost implied until you send a significant amount of notifications.
Limitations / Roadmap
You should be aware of the following limitations regarding the CloudFormation API coverage and integration:
- 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.
- Bamboo variable substitution/definition for template parameters and stack outputs is pending - obviously fixing this is high on our list.
- Updating a stack has been postponed due to being somewhat bound to the aforementioned functionality.
- 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.
Further down the road we'd like to integrate other AWS services as well.
Licensed under the Apache License, Version 2.0, see LICENSE.TXT for details.
- BAWS-44 - Add template parameter handling.
- NOTE: Bamboo variable substitution pending.
- BAWS-45 - Add stack outputs handling.
- NOTE: Bamboo variable definition pending.
- BAWS-46 - Add URL based template specification.
- BAWS-19 - Add disable rollback option.
- BAWS-20 - Add creation timeout option.
- BAWS-21 - Add SNS notification option.
- BAWS-31 - Fix not all completed stack transitions triggering task completion and/or proper task result.
- BAWS-37 - Fix validation errors not being displayed.
- BAWS-9 - As a Bamboo 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 Bamboo user, I need a task to delete a CloudFormation stack so that I can terminate a collection of related AWS resources.