Elastic Beanstalk Intelligence, Simple CLI tool for ElasticBeanstalk with Docker.
- Deploying apps more intuitively
- Without git integration
- Switch-able
Dockerrun.aws.json
- Switch-able
.ebextensions/
pip install ebi
Requires Python2.7 or 3.5
To deploy app, just type it on project root:
$ ebi deploy <app_name> <env_name>
This will
- Create zip file including
Dockerrun.aws.json
and.ebextensions
- Uploading zip to S3 as same directory as
awsebcli
. - Deploying app (by calling
eb deploy
with uploaded --version)
options:
--version
: version label for app. default is timestamp.--dockerrun
: File path used asDockerrun.aws.json
.--ebext
: Directory path used as.ebextensions/
--profile
: Configured profile for AWS.--region
: region for AWS.
To create app, just type it on project root:
$ ebi create <app_name> <env_name> <cname_prefix>
This will
- Create zip file including
Dockerrun.aws.json
and.ebextensions
- Uploading zip to S3 as same directory as
awsebcli
. - Creating app (by calling
eb create
with uploaded --version)
options:
--version
: version label for app. default is timestamp.--dockerrun
: File path used asDockerrun.aws.json
.--ebext
: Directory path used as.ebextensions/
--profile
: Configured profile for AWS.--region
: region for AWS.--cfg
: Configuration template to use.
To Blue-Green deploye app, just type it on project root:
$ ebi bgdeploy <app_name> <blue_env_name> <green_env_name> <primary_env_cname>
This will
- Create zip file including
Dockerrun.aws.json
and.ebextensions
- Uploading zip to S3 as same directory as
awsebcli
. - Deploy new version to secondary environment which doen't have
primary_env_cname
(by callingeb deploy
with uploaded --version) - Apply primary cname for deployed (secondary) environment
+-------+ +------+ | green | | blue | +-------+ +------+ pri.elastic...com sec.elastic...com ^ | 3. deploy!
options:
--noswap
: Skip swapping to just deploy secondary environment.--version
: version label for app. default is timestamp.--dockerrun
: File path used asDockerrun.aws.json
.--ebext
: Directory path used as.ebextensions/
--profile
: Configured profile for AWS.--region
: region for AWS.
To deploy app with cloning, just type it on project root:
$ ebi clonedeploy <app_name> <env_name> <green_env_name> <cname_prefix>
This will
- Create clone of master environment for next version environment.
- Create zip file including
Dockerrun.aws.json
and.ebextensions
- Uploading zip to S3 as same directory as
awsebcli
. - Deploy new version to next version (by calling
eb deploy
with uploaded --version) - Apply master cname for deployed (next version) environment
+--------+ +----------+ | master | =1.Clone=> | next ver | +--------+ +----------+ master.elastic...com master-<timestamp>.elastic...com ^ | 4. deploy!
--noswap
: Skip swapping to just deploy secondary environment.--version
: version label for app. default is timestamp.--dockerrun
: File path used asDockerrun.aws.json
.--ebext
: Directory path used as.ebextensions/
--profile
: Configured profile for AWS.--region
: region for AWS.