π
ElasticDeploy Deploy multiple applications/services/websites on a single AWS Elastic Beanstalk environment.
Unfortunately, there is no easy way to run multiple applications/services/websites, which have their own GIT repository, on a single AWS Elastic Beanstalk environment. ElasticDeploy helps developers solving that problem.
How does it work?
First, you need to create a main deployment repository. Within the root of this repository, ElasticDeploy will store a file called edConfig.json
.
This file keeps the information of the external repositories. Each external will be cloned into the main deployment repository (see 'Sample Project Structure').
In addition, all external repositories are automatically added to your .gitignore file. This means that all changes should happen in the external repository itself. It also creates a script in your .ebextensions folder, where all vhosts are added.
Getting Started
-
Install ElasticDeploy (PyPI package)
pip install ElasticDeploy
-
Create new main repository
mkdir ed-deployment-repository && cd ed-deployment-repository
-
Initialize ElasticDeploy
elasticdeploy init
-
Follow the initialization guide
-
Create and deploy all applications/services/websites
elasticdeploy createAndDeploy
Sample Project Structure
ed-deployment-repository
β .gitignore
β edConfig.json
β
ββββ.git
β
ββββ.elasticbeanstalk
β config.yml
β
ββββ.ebextensions
β 98ElasticDeploy.config
β
ββββproject1
β file1
β file2
β subfolder1
β subfolder2
β
ββββproject2
β file1
β file2
β subfolder1
β subfolder2
β
ββββproject3
β file1
β file2
β subfolder1
β subfolder2
All Commands
Show help page
elasticdeploy help
Initialize ElasticDeploy
elasticdeploy init
Clone all repositories
elasticdeploy cloneAll
Add a new repository
elasticdeploy newRepo
Clone all repositories
elasticdeploy cloneAll
Create application
elasticdeploy create
Deploy latest application
elasticdeploy deploy
Create and deploy application
elasticdeploy createAndDeploy