The deployment of an artifact to AWS Elastic Beanstalk involves three different major components as follows:
- Application – a logical collection of Elastic Beanstalk components, including environments, versions [...] (see the next two)
- Application Version – a specific, labeled iteration of deployable code for a web application
- Environment – a version that is deployed onto AWS resources
The lifecycle of any artifact (i.e. any specific application version) is illustrated by the diagram in What Is AWS Elastic Beanstalk and Why Do I Need It?:
The binding between those three components is established indirectly and comprises the following activities:
- create an application – see the Create action of the AWS Elastic Beanstalk Application task
- upload the application source code (the 'Source Bundle') – see the Upload action of the Amazon S3 Object task
- create an application version for that application – see the Create action of the AWS Elastic Beanstalk Application Version task
- launch an environment with one of the available application versions of an application – see the Create action of the AWS Elastic Beanstalk Environment task
- manage the environment, which implies going back to 3./4. and selecting one of two approaches for deploying a new application version (be it a newly created or a former one):
- update an environment as outlined in Deploying Versions to Existing Environments by replacing the currently running application version with another one – see the Update action of the AWS Elastic Beanstalk Environment task
- create a new environment, optionally swapping over to that one by Deploying Versions with Zero Downtime once it is verified as working correctly – see the Swap action of the AWS Elastic Beanstalk Environment task