- unmigrated-wiki-markup
Documentation for Tasks for AWS 2.7 – other releases are available in the Tasks for AWS Documentation Directory.
View
or visit the current documentation home.
Using the AWS Elastic Beanstalk Environment task in Bamboo
Configuration
To ease common scenarios, the Create action allows to Update [the] environment, if it already exists.
Docker Support
You can also deploy AWS Elastic Beanstalk applications from Docker containers - select an appropriate solution stack from Configuration Source as follows:
- Docker - this supports a workflow based on your own Docker containers, refer to Dockerfile and Dockerrun.aws.json for details.
- <platform> (Preconfigured Docker) - this supports a workflow based on Docker containers preconfigured from base images provided in the Docker Hub Registry at Repositories, refer to Deploying AWS Elastic Beanstalk Applications from Preconfigured Docker Containers for details.
Deployment Cycle
The required Version Label stems from an Application Version previously provisioned - assuming an Application already exists, the typical deployment cycle is as follows:
- upload a source bundle via the S3 Object task's Upload action
- create a version via the Elastic Beanstalk Application Version task's Create action
- deploy that version via the Elastic Beanstalk Environment task's Update action
To configure an AWS Elastic Beanstalk Environment task:
- Navigate to the Tasks configuration tab for the job (this will be the default job if creating a new plan).
- Click the name of an existing AWS Elastic Beanstalk Environment task, or click Add Task and then AWS Elastic Beanstalk Environment to create a new task.
Complete the following settings:
Common to all tasks
Task Description (Optional) Identify the purpose of the task. Disable this task Check, or clear, to selectively run this task.
Action Each task supports one or more actions depending on the target AWS resource. Select the desired action and configure the action specific parameters below.
Region Select the desired AWS Region. Alternatively, select [Use region variable ...] to supply the region dynamically via Bamboo variables (needs to be a region code such as ap-southeast-2
) - refer to How to parametrize the AWS region via a Bamboo variable for details.... Configure task/action specific parameters, see below ... AWS Security Credentials Source Select the source for the required AWS Security Credentials - can be either Inline, an IAM Role for EC2 or a shared Identity Federation for AWS Connector. Connector (Conditional) Select the shared Identity Federation for AWS Connector. Alternatively, select [Use connector variable ...] to supply the connector dynamically via Bamboo variables (needs to be a connector id such as f24e81bc-7aff-42db-86a2-7cf82e24d871
) - refer to How to parametrize the AWS connector via a Bamboo variable for details.Actions supported by this task:
Create
Update environment, if it already exists Check to apply the Update action, if the environment already exists. Clear to trigger a build failure otherwise. - In case of an Update action, only applicable fields are used, i.e. the following fields are ignored:
- Environment Tier
- CNAME Prefix
- Configuration Source
- Solution Stack
- Tags
Application Name Specify the name of the application that contains the version to be deployed
Environment Name Specify an environment name.
- Must be unique within your account. If the name already exists, the task will fail.
Environment Tier Select a Web Server or Worker environment tier.
- Refer to the Architectural Overview for the differences between these environment tier types.
Version Label (Optional) Specify the label of the application version to deploy.
- If not specified, AWS Elastic Beanstalk attempts to launch the sample application in the container.
CNAME Prefix (Optional) Specify the prefix for the CNAME that the environment should attempt to use.
- Must be unique across all Elastic Beanstalk environments. If the name already exists, the task will fail.
- If not specified, the CNAME is generated automatically by appending a random alphanumeric string to the environment name.
Configuration Source Select a predefined solution stack or saved named template. - There might be more recent solution stacks available, see Supported Platforms – you can enter an updated version manually.
Advanced Options Await Health Status Timeout Specify how long to await the environment's health status reaching a non grey state (seconds, 0 to skip). Verify Green Health Status Period Specify how long to verify the environment's health status being green (seconds, 0 to skip). Configuration Option Settings (Optional) Configure the environment's option settings.
- Refer to Option Values for available configuration option settings.
Tags (Optional) Tag the environment.
Refer to Tagging Your Amazon EC2 Resources and Listing and Filtering Your Resources for details. For example:
- Single Instance – Uses single-instance environment type instead of load-balanced.
- Instance type – Sets the configurations instance type to the desired size/type.
- Auto Scaling range – Sets the Auto Scaling group instance number min and max sizes.
- Worker Tier IAM Profile – Defines the IAM instance profile to use for a worker tier configuration.
- General Purpose (SSD) storage volume – Defines the root storage volume for the Amazon EC2 instances in the environment as general purpose SSD.
Description (Optional) Describe the environment. Update
Unmodified option handling
Any option that is not populated in the task will not be updated in the environment (i.e. nothing is sent to Beanstalk for this option, which retains its current value accordingly).
Environment Name or ID or CNAME Specify the target environment. You can use its name, ID or the associated CNAME.
- CNAME needs to be the fully qualified domain name, e.g. "someEnv.elasticbeanstalk.com"
Version Label see Create above
Configuration Source (Optional) Select a predefined solution stack or saved named template.
- This enables Upgrading the Elastic Beanstalk Environment's Platform Version.
- There might be more recent solution stacks available, see Supported Platforms – you can enter an updated version manually.
Advanced Options Await Health Status Timeout see Create above Verify Green Health Status Period see Create above Configuration Option Settings see Create above
Tags see Create above Description see Create above Rebuild
Environment Name or ID or CNAME see Update above Advanced Options Await Health Status Timeout see Create above Verify Green Health Status Period see Create above Restart
Environment Name or ID or CNAME see Update above Advanced Options Await Health Status Timeout see Create above Verify Green Health Status Period see Create above Swap
The Swap action enables Deploying Versions with Zero Downtime by swapping the URLs between two environments - this concept is also referred to as a Blue-Green deployments.
Source Environment Name or ID or CNAME Specify the source environment. You can use its name, ID or the associated CNAME.
- CNAME needs to be the fully qualified domain name, e.g. "someEnv.elasticbeanstalk.com"
Destination Environment Name or ID Specify the target environment. You can use its name or ID. Terminate
Environment Name or ID or CNAME see Update above
Don't fail for non existing environment Check to not fail the build, if the environment does not exist (anymore). Clear to trigger a build failure otherwise. Terminate Resources Check to also terminate the associated AWS resources. Clear to remove the associated AWS resources from Elastic Beanstalk, but continue to operate them.
- In case of an Update action, only applicable fields are used, i.e. the following fields are ignored:
Variables
All tasks support Bamboo Variable Substitution/Definition - this task's actions generate variables as follows:
Create
Creating common variables for 1 resources affected by task: ... custom.aws.elasticbeanstalk.environment.resources: e-nfmuvhyf3j Creating resource variables for environment 'TE-TAWS-IT220-EBE-24' with environmentId 'e-nfmuvhyf3j': ... custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.ApplicationName: TEA-TAWS-IT220-EBE-24 ... custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.CNAME: TAWS-IT220-EBE-24.elasticbeanstalk.com ... custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.DateCreated: 20150721T230321Z ... custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.DateUpdated: 20150721T231004Z ... custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.Description: Initial environment description. ... custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.EndpointURL: 54.243.135.159 ... custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.EnvironmentId: e-nfmuvhyf3j ... custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.EnvironmentName: TE-TAWS-IT220-EBE-24 ... custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.Health: Green ... custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.SolutionStackName: 64bit Amazon Linux 2015.03 v1.4.0 running Docker 1.6.0 ... custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.Status: Ready ... custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.TemplateName: null ... custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.VersionLabel: null Creating common variables for first resource affected by task: Creating resource variables for environment 'TE-TAWS-IT220-EBE-24' with environmentId 'e-nfmuvhyf3j': ... custom.aws.elasticbeanstalk.environment.first.ApplicationName: TEA-TAWS-IT220-EBE-24 ... custom.aws.elasticbeanstalk.environment.first.CNAME: TAWS-IT220-EBE-24.elasticbeanstalk.com ... custom.aws.elasticbeanstalk.environment.first.DateCreated: 20150721T230321Z ... custom.aws.elasticbeanstalk.environment.first.DateUpdated: 20150721T231004Z ... custom.aws.elasticbeanstalk.environment.first.Description: Initial environment description. ... custom.aws.elasticbeanstalk.environment.first.EndpointURL: 54.243.135.159 ... custom.aws.elasticbeanstalk.environment.first.EnvironmentId: e-nfmuvhyf3j ... custom.aws.elasticbeanstalk.environment.first.EnvironmentName: TE-TAWS-IT220-EBE-24 ... custom.aws.elasticbeanstalk.environment.first.Health: Green ... custom.aws.elasticbeanstalk.environment.first.SolutionStackName: 64bit Amazon Linux 2015.03 v1.4.0 running Docker 1.6.0 ... custom.aws.elasticbeanstalk.environment.first.Status: Ready ... custom.aws.elasticbeanstalk.environment.first.TemplateName: null ... custom.aws.elasticbeanstalk.environment.first.VersionLabel: null
Update
See Create above.
Rebuild
See Create above.
Restart
See Create above.
Swap
Creating resource variables for copied object 'taws-tst-object-4B.a.txt': ... custom.aws.s3.object.first.BucketName: taws-tst-target-us-east-1 ... custom.aws.s3.object.first.ETag: 1dafad37f6d9e169248bacb8485fd9cc ... custom.aws.s3.object.first.ObjectKey: taws-tst-object-4B.a.txt ... custom.aws.s3.object.first.VersionId: null
Terminate
See Create above.
How-to Articles
-
-
Questions: