django-deploy-kit 0.10.2

Creator: codyrutscher

Last updated:

Add to Cart

Description:

djangodeploykit 0.10.2

Django Deploy
For deploy Django project on Linux server.
Features:


Automatic


Zero downtime


Multiple version


Easy rollback


Requirements on server

Nginx
Anaconda
Nodejs
PM2

Quick start


Add "deploy" to your INSTALLED_APPS setting like this:
INSTALLED_APPS = [
...
'deploy',
]



Configure ssh:
add host config in ~/.ssh/config
Host host1
Hostname xxx.xxx.xxx.xxx
Port 2222
User xxxx
ServerAliveInterval 60
# IdentityFile ~/.ssh/id_rsa_xxxxx

create ssh-key file
ssh-keygen -t rsa -C "xxxx@xxxx.com"

you could leave a blank for password, when you execute ssh command it will not ask your password again


Add definition in settings of Django app
GIT_URL = 'git@github.com:path/name.git'
GIT_DEPLOY_BRANCH = 'stable'
APP_NAME = 'appname'

DEPLOY = {
"host1": { # same as ssh-config
"task_prefix": "app-process", # prefix of process name
"home_path": '/path/to/appname/www', # path of each versions
"static_path": '/path/to/appname/statics', # path of statics for each versions
"conda_path": '/path/to/anaconda3/bin', # path of anaconda bin
"nginx_conf": "/etc/nginx/sites-enabled/appname", # enabled site config of Nginx
"fixed_deploy_path": '/path/to/appname/fixed', # use to do migrate
}
}



create PM2 and Nginx configure template
create directory name of deploy in your base path of Django app
deploy/
└── templates
└── deploy
├── ecosystem.config.template
└── nginx.conf.template

content of ecosystem.config.template
...

content of nginx.conf.template

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.