Deploying a Django app on AWS
Overview
All of these steps are performed locally.
Prerequisites
Deploying a Django app
Updates to the app are deployed with eb deploy.
This looks at .elasticbeanstalk/config.yml for the target application and environment.
branch-defaults:
master:
environment: nrose-env
global:
application_name: north-rose
default_ec2_keyname: nrosedevs-aws
default_platform: 64bit Amazon Linux 2015.09 v2.0.6 running Python 3.4
default_region: us-west-2
profile: eb-cli
sc: git
With the master Git branch checked out, and the config.yml above, eb deploy will package up the project file and upload them to the EC2 instance corresponding with the nrose-env environment of the north-rose app.
To update a staging environment, edit config.yml with the following:
branch-defaults:
master:
environment: nrose-env
staging:
environment: nrose-staging
With the staging Git branch checked out, eb deploy will now update the nrose-staging environment.
Installing Django app dependencies
See Defining Django App Dependencies
Notes
See also
- Deploying a Django Application - AWS Elastic Beanstalk documentation
- Deploying a Django app to AWS Elastic Beanstalk - Real Python (Jan. 22, 2015)