История изменений
Исправление pawnhearts, (текущая версия) :
Вот тебе пример fabfile'а для джанго. Предполагается, что исходники лежат в каком-то удаленном mercurial, например, на bitbucket. Запускается с машины разработчика. На сервера дополнительно ничего ставить не надо.
from fabric.api import env, cd, prefix, local, run, sudo, shell_env, roles
from fabric.operations import get
env.roledefs = {
'srv1': ['user@srv1.ru'],
}
@roles('srv1')
def deploy():
PROJECT_DIR = '~/project1/prj'
VIRTUALENV_SHELL = "source ~/.virtualenvs/project1/bin/activate"
SETTINGS_FILE = 'config.settings.settings_production'
with cd(PROJECT_DIR):
run("hg pull -u")
with prefix(VIRTUALENV_SHELL):
run('pip install -r ../requirements.txt')
with shell_env(DJANGO_SETTINGS_MODULE=SETTINGS_FILE):
run('python manage.py syncdb')
run('python manage.py migrate')
run('python manage.py collectstatic --noinput')
run('touch ~/project1.socket')
Исправление pawnhearts, :
Вот тебе пример fabfile'а для джанго. Предполагается, что исходники лежат в каком-то удаленном mercurial, например, на bitbucket. Запускается с машины разработчика. На сервера дополнительно ничего ставить не надо.
from fabric.api import env, cd, prefix, local, run, sudo, shell_env, roles
from fabric.operations import get
env.roledefs = {
'srv1': ['user@srv1.ru'],
}
@roles('srv1')
def deploy():
PROJECT_DIR = '~/project1'
VIRTUALENV_SHELL = "source ~/.virtualenvs/project1/bin/activate"
SETTINGS_FILE = 'config.settings.settings_production'
with cd(PROJECT_DIR):
run("hg pull -u")
with prefix(VIRTUALENV_SHELL):
run('pip install -r ../requirements.txt')
with shell_env(DJANGO_SETTINGS_MODULE=SETTINGS_FILE):
run('python manage.py syncdb')
run('python manage.py migrate')
run('python manage.py collectstatic --noinput')
run('touch ~/project1.socket')
Исходная версия pawnhearts, :
Вот тебе пример fabfile'а для джанго. Предполагается, что исходники лежат в каком-то удаленном mercurial, например, на bitbucket.
from fabric.api import env, cd, prefix, local, run, sudo, shell_env, roles
from fabric.operations import get
env.roledefs = {
'srv1': ['user@srv1.ru'],
}
@roles('srv1')
def deploy():
PROJECT_DIR = '~/project1'
VIRTUALENV_SHELL = "source ~/.virtualenvs/project1/bin/activate"
SETTINGS_FILE = 'config.settings.settings_production'
with cd(PROJECT_DIR):
run("hg pull -u")
with prefix(VIRTUALENV_SHELL):
run('pip install -r ../requirements.txt')
with shell_env(DJANGO_SETTINGS_MODULE=SETTINGS_FILE):
run('python manage.py syncdb')
run('python manage.py migrate')
run('python manage.py collectstatic --noinput')
run('touch ~/project1.socket')