The deployment workflow is illustrated by the diagram in What Is AWS Elastic Beanstalk?:
The binding between those components is established indirectly and comprises the following activities:
update an environment by deploying a new application version that replaces the currently running one (usually via a rolling or immutable update), as outlined in Deploying Applications to AWS Elastic Beanstalk Environments – see the Update Environment action of the AWS Elastic Beanstalk Environment task
create a new environment, optionally swapping over to that one with zero downtime, as outlined in Blue/Green Deployments with AWS Elastic Beanstalk – see the Swap Environment CNAMEs action of the AWS Elastic Beanstalk Environment task
If your application architecture and deployment scenario allow to use rolling or immutable updates, AWS nowadays recommends these more flexible approaches over a CNAME swap – refer to table Deployment Methods within Deploying Applications to AWS Elastic Beanstalk Environments for a comparison of available deployment methods. |
As an alternative to using the AWS Elastic Beanstalk tasks built into Tasks for AWS, it is also possible to provision the Elastic Beanstalk components directly via the AWS CloudFormation Stack task and the corresponding CloudFormation resource types:
A typical workflow based on CloudFormation might look as follows: