Git Product home page Git Product logo

ebi's Introduction

EBI

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/

Install

pip install ebi

Requires Python2.7 or 3.5

Usage

deploy

To deploy app, just type it on project root:

$ ebi deploy <app_name> <env_name>

This will

  1. Create zip file including Dockerrun.aws.json and .ebextensions
  2. Uploading zip to S3 as same directory as awsebcli.
  3. Deploying app (by calling eb deploy with uploaded --version)

options:

  • --version: version label for app. default is timestamp.
  • --dockerrun: File path used as Dockerrun.aws.json.
  • --ebext: Directory path used as .ebextensions/
  • --profile: Configured profile for AWS.
  • --region: region for AWS.

create

To create app, just type it on project root:

$ ebi create <app_name> <env_name> <cname_prefix>

This will

  1. Create zip file including Dockerrun.aws.json and .ebextensions
  2. Uploading zip to S3 as same directory as awsebcli.
  3. Creating app (by calling eb create with uploaded --version)

options:

  • --version: version label for app. default is timestamp.
  • --dockerrun: File path used as Dockerrun.aws.json.
  • --ebext: Directory path used as .ebextensions/
  • --profile: Configured profile for AWS.
  • --region: region for AWS.
  • --cfg: Configuration template to use.

bgdeploy

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

  1. Create zip file including Dockerrun.aws.json and .ebextensions
  2. Uploading zip to S3 as same directory as awsebcli.
  3. Deploy new version to secondary environment which doen't have primary_env_cname (by calling eb deploy with uploaded --version)
  4. 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 as Dockerrun.aws.json.
  • --ebext: Directory path used as .ebextensions/
  • --profile: Configured profile for AWS.
  • --region: region for AWS.

clonedeploy

To deploy app with cloning, just type it on project root:

$ ebi clonedeploy <app_name> <env_name> <green_env_name> <cname_prefix>

This will

  1. Create clone of master environment for next version environment.
  2. Create zip file including Dockerrun.aws.json and .ebextensions
  3. Uploading zip to S3 as same directory as awsebcli.
  4. Deploy new version to next version (by calling eb deploy with uploaded --version)
  5. 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 as Dockerrun.aws.json.
  • --ebext: Directory path used as .ebextensions/
  • --profile: Configured profile for AWS.
  • --region: region for AWS.

ebi's People

Contributors

bungoume avatar hirokiky avatar osamunmun avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.