Elastic Beanstalk Intelligence, Simple CLI tool for ElasticBeanstalk with Docker.
- Deploying apps more intuitively
- Without git integration
- Switch-able
Dockerrun.aws.json
- Switch-able
docker-compose.yml
- 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
ordocker-compose.yml
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.--prefix
: version prefix for app. It is added to timestamp.--description
: description for this version.--dockerrun
: File path used asDockerrun.aws.json
.--docker-compose
: File path used asdocker-compose.yml
.--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
ordocker-compose.yml
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.--prefix
: version prefix for app. It is added to timestamp.--description
: description for this version.--dockerrun
: File path used asDockerrun.aws.json
.--docker-compose
: File path used asdocker-compose.yml
.--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
ordocker-compose.yml
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.--prefix
: version prefix for app. It is added to timestamp.--description
: description for this version.--dockerrun
: File path used asDockerrun.aws.json
.--docker-compose
: File path used asdocker-compose.yml
.--ebext
: Directory path used as.ebextensions/
--profile
: Configured profile for AWS.--region
: region for AWS.--capacity
: Increase the number of desired instances, the minimum size, and the maximum size of the standby environment to the same as the primary environment.
To deploy app with cloning, just type it on project root:
$ ebi clonedeploy <app_name> <env_name> <cname_prefix>
This will
- Create clone of master environment for next version environment.
- Create zip file including
Dockerrun.aws.json
and.ebextensions
ordocker-compose.yml
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.--prefix
: version prefix for app. It is added to timestamp.--description
: description for this version.--dockerrun
: File path used asDockerrun.aws.json
.--docker-compose
: File path used asdocker-compose.yml
.--ebext
: Directory path used as.ebextensions/
--profile
: Configured profile for AWS.--region
: region for AWS.