Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 33 Current »

You can use the Elastic Beanstalk Environment task to create, update, rebuild, restart, swap or terminate an AWS Elastic Beanstalk environment (see Deploying to AWS Elastic Beanstalk for an overview of the Elastic Beanstalk component lifecycle and deployment workflow).

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:

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:

To configure an AWS Elastic Beanstalk Environment task:

1. Navigate to the Tasks configuration tab for the job (this will be the default job if creating a new plan).

2. 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.

3. Complete the following settings:

a. Common to all tasks

 Click here to expand...

Common (Bamboo)


Task Description (Optional) Identify the purpose of the task.
Disable this task

Check, or clear, to selectively run this task.

...Configure task/action specific parameters, see below ...
Bamboo Variables
NamespaceProvide the namespace for generated variables – defaults to custom.aws for backward compatibility.
Scope

Select the scope for generated variables – can be either Local (Variables will only be available in this job), or Result (Variables will be available in subsequent plan stages and deployment releases).

Common (AWS)


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.

RegionSelect 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
SourceSelect 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.

b. Actions supported by this task:

Create Environment


Update environment, if it already exists

Check to apply the Update action, if the environment already exists. Clear to trigger a build failure otherwise.

  • (info) In case of an Update action, only applicable fields are used, i.e. the following fields are ignored:

    • Environment Tier

    • CNAME Prefix

    • Tags

Application Name

Specify the name of the application that contains the version to be deployed

Environment Name

Specify an environment name.

  • (warning) 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.

Version Label

(Optional) Specify the label of the application version to deploy.

  • (warning) 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.

  • (warning) Must be unique across all Elastic Beanstalk environments. If the name already exists, the task will fail.

  • (info) If not specified, the CNAME is generated automatically by appending a random alphanumeric string to the environment name.

Configuration Source

Select a preconfigured platform, a custom platform, or a saved configuration.

Solution Stack Name

Specify the solution stack.

  • (info) There might be more recent solution stacks available, refer to Supported Platforms for details – you can enter an updated version manually.

Platform ARN

Specify the ARN of the custom platform.

  • (info) Custom platforms are region specific and need to be deliberately created, refer to Custom Platforms for details.

Template Name

Specify the template name.

  • (info) Saved configurations are YAML formatted templates and can be created manually or via the AWS Management Console, refer to Saved Configurations for details.

Advanced Options

Await Health Status Timeout 

Specify how long to await the environment's health status reaching a non grey state (seconds, default is 600, use 0 to skip).

Verify Green Health Status Period

Specify how long to verify the environment's health status being green (seconds, default is 180, use 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's resources.

Description

(Optional) Describe the environment.

Update Environment

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.

  • (info) CNAME needs to be the fully qualified domain name, e.g. "someEnv.elasticbeanstalk.com"

Version Label

see Create above

Configuration Source

see Create above

Solution Stack

see Create above

Platform ARN

see Create above

Template Name

see Create above

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


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

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 Environment CNAMEs

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

AWS recommends rolling updates

If your application architecture and deployment scenario allow to use rolling updates, AWS nowadays recommends this approach over a CNAME swap. In case, you can specify the desired deployment method via the Configuration Option Settings in section Advanced Options of the Create and Update actions. Refer to Deploying Applications to AWS Elastic Beanstalk Environments for a comparison of available deployment methods, to Deployment Policies and Settings for more details on rolling updates, and to The aws:elasticbeanstalk:command namespace for the available configuration options.

Source Environment Name or ID or CNAME 

Specify the source environment. You can use its name, ID or the associated CNAME.

  • (info) CNAME needs to be the fully qualified domain name, e.g. "someBlueEnv.elasticbeanstalk.com"

Destination Environment Name or ID or CNAME

Specify the target environment. You can use its name, ID or the associated CNAME.

  • (info) CNAME needs to be the fully qualified domain name, e.g. "someGreenEnv.elasticbeanstalk.com"

Terminate Environment


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.

Variables

All tasks support Bamboo Variable Substitution/Definition - this task's actions generate variables as follows:

A task's generated variables might get amended with respective AWS API additions over time - a live build log will always provide the most current variable shape accordingly

Create Environment

Creating common variables for 1 resources affected by task:
... bamboo.custom.aws.elasticbeanstalk.environment.resources: e-nfmuvhyf3j
Creating resource variables for environment 'TE-TAWS-IT220-EBE-24' with environmentId 'e-nfmuvhyf3j':
... bamboo.custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.ApplicationName: TEA-TAWS-IT220-EBE-24
... bamboo.custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.CNAME: TAWS-IT220-EBE-24.elasticbeanstalk.com
... bamboo.custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.DateCreated: 20150721T230321Z
... bamboo.custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.DateUpdated: 20150721T231004Z
... bamboo.custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.Description: Initial environment description.
... bamboo.custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.EndpointURL: 54.243.135.159
... bamboo.custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.EnvironmentId: e-nfmuvhyf3j
... bamboo.custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.EnvironmentName: TE-TAWS-IT220-EBE-24
... bamboo.custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.Health: Green
... bamboo.custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.HealthStatus: Pending
... bamboo.custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.PlatformArn: null
... bamboo.custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.SolutionStackName: 64bit Amazon Linux 2015.03 v1.4.0 running Docker 1.6.0
... bamboo.custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.Status: Ready
... bamboo.custom.aws.elasticbeanstalk.environment.resources.e-nfmuvhyf3j.TemplateName: null
... bamboo.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':
... bamboo.custom.aws.elasticbeanstalk.environment.first.ApplicationName: TEA-TAWS-IT220-EBE-24
... bamboo.custom.aws.elasticbeanstalk.environment.first.CNAME: TAWS-IT220-EBE-24.elasticbeanstalk.com
... bamboo.custom.aws.elasticbeanstalk.environment.first.DateCreated: 20150721T230321Z
... bamboo.custom.aws.elasticbeanstalk.environment.first.DateUpdated: 20150721T231004Z
... bamboo.custom.aws.elasticbeanstalk.environment.first.Description: Initial environment description.
... bamboo.custom.aws.elasticbeanstalk.environment.first.EndpointURL: 54.243.135.159
... bamboo.custom.aws.elasticbeanstalk.environment.first.EnvironmentId: e-nfmuvhyf3j
... bamboo.custom.aws.elasticbeanstalk.environment.first.EnvironmentName: TE-TAWS-IT220-EBE-24
... bamboo.custom.aws.elasticbeanstalk.environment.first.Health: Green
... bamboo.custom.aws.elasticbeanstalk.environment.first.HealthStatus: Pending
... bamboo.custom.aws.elasticbeanstalk.environment.first.PlatformArn: null
... bamboo.custom.aws.elasticbeanstalk.environment.first.SolutionStackName: 64bit Amazon Linux 2015.03 v1.4.0 running Docker 1.6.0
... bamboo.custom.aws.elasticbeanstalk.environment.first.Status: Ready
... bamboo.custom.aws.elasticbeanstalk.environment.first.TemplateName: null
... bamboo.custom.aws.elasticbeanstalk.environment.first.VersionLabel: null

Update Environment

See Create above.

Rebuild Environment

See Create above.

Restart Environment

See Create above.

Swap Environment CNAMEs

Creating common variables for source and destination resources affected by task:
Creating resource variables for environment 'TE-TAWS-IT220-EBE-24' with environmentId 'e-nfmuvhyf3j':
... bamboo.custom.aws.elasticbeanstalk.environment.source.ApplicationName: TEA-TAWS-IT220-EBE-24
... bamboo.custom.aws.elasticbeanstalk.environment.source.CNAME: TAWS-IT220-EBE-24.elasticbeanstalk.com
... bamboo.custom.aws.elasticbeanstalk.environment.source.DateCreated: 20150721T230321Z
... bamboo.custom.aws.elasticbeanstalk.environment.source.DateUpdated: 20150721T231004Z
... bamboo.custom.aws.elasticbeanstalk.environment.source.Description: Initial environment description.
... bamboo.custom.aws.elasticbeanstalk.environment.source.EndpointURL: 54.243.135.159
... bamboo.custom.aws.elasticbeanstalk.environment.source.EnvironmentId: e-nfmuvhyf3j
... bamboo.custom.aws.elasticbeanstalk.environment.source.EnvironmentName: TE-TAWS-IT220-EBE-24
... bamboo.custom.aws.elasticbeanstalk.environment.source.Health: Green
... bamboo.custom.aws.elasticbeanstalk.environment.source.SolutionStackName: 64bit Amazon Linux 2015.03 v1.4.0 running Docker 1.6.0
... bamboo.custom.aws.elasticbeanstalk.environment.source.Status: Ready
... bamboo.custom.aws.elasticbeanstalk.environment.source.TemplateName: null
... bamboo.custom.aws.elasticbeanstalk.environment.source.VersionLabel: null
Creating resource variables for environment 'TE-TAWS-IT220-EBE-25' with environmentId 'e-nfmuvhyf3k':
... bamboo.custom.aws.elasticbeanstalk.environment.destination.ApplicationName: TEA-TAWS-IT220-EBE-25
... bamboo.custom.aws.elasticbeanstalk.environment.destination.CNAME: TAWS-IT220-EBE-25.elasticbeanstalk.com
... bamboo.custom.aws.elasticbeanstalk.environment.destination.DateCreated: 20150721T231442Z
... bamboo.custom.aws.elasticbeanstalk.environment.destination.DateUpdated: 20150721T232108Z
... bamboo.custom.aws.elasticbeanstalk.environment.destination.Description: Initial environment description.
... bamboo.custom.aws.elasticbeanstalk.environment.destination.EndpointURL: 54.243.135.160
... bamboo.custom.aws.elasticbeanstalk.environment.destination.EnvironmentId: e-nfmuvhyf3k
... bamboo.custom.aws.elasticbeanstalk.environment.destination.EnvironmentName: TE-TAWS-IT220-EBE-25
... bamboo.custom.aws.elasticbeanstalk.environment.destination.Health: Green
... bamboo.custom.aws.elasticbeanstalk.environment.destination.SolutionStackName: 64bit Amazon Linux 2015.03 v1.4.0 running Docker 1.6.0
... bamboo.custom.aws.elasticbeanstalk.environment.destination.Status: Ready
... bamboo.custom.aws.elasticbeanstalk.environment.destination.TemplateName: null
... bamboo.custom.aws.elasticbeanstalk.environment.destination.VersionLabel: null

Terminate Environment

See Create above.

How-to Articles

Frequently Asked Questions (FAQ)

Atlassian account required

Due to a regression within Questions for Confluence Cloud, you need to log in with your Atlassian ID (or sign up for a new account) to access these automatically curated FAQs (refer to UAA-312 for the background).

  • No labels