Add sentry and fabfile

This commit is contained in:
Nikolai R Kristiansen committed 2018-03-17 13:59:04 +01:00
1 parent cd11bd580b
commit 90eae21bc7
4 files changed
+101 -6

No files matched your search

Vendored
+49
View File
@@ -0,0 +1,49 @@
import os
from contextlib import contextmanager as _contextmanager
from fabric.api import run, sudo, env, cd, prefix
env.use_ssh_config = True
env.hosts = ['dreamcast.neuf.no']
env.user = 'gitdeploy'
BASE_PATH = '/var/www/neuf.no/'
PROJECTS = {
'bbs': {
'path': os.path.join(BASE_PATH, 'bbs'),
'process_name': 'bbs.neuf.no'
},
'fantastene': {
'path': os.path.join(BASE_PATH, 'bbs_fantastene'),
'process_name': 'fantastene-bbs.neuf.no'
},
'arrut': {
'path': os.path.join(BASE_PATH, 'bbs_arrut'),
'process_name': 'arrut-bbs.neuf.no'
}
}
@_contextmanager
def virtualenv(project):
activate = 'source {}/venv/bin/activate'.format(project['path'])
with cd(project['path']), prefix(activate):
yield
def deploy(project_name='bbs'):
if project_name not in PROJECTS:
print("'{}' not in valid projects({})".format(project_name, ', '.join(sorted(PROJECTS.keys()))))
exit(1)
project = PROJECTS[project_name]
with virtualenv(project):
run('git pull') # Get source
run('pip install -r requirements.txt') # install deps in virtualenv
run('umask 022; python manage.py collectstatic --noinput') # Collect static
run('python manage.py migrate') # Run DB migrations
# Reload
sudo('/usr/bin/supervisorctl pid {process_name} | xargs kill -HUP'.format(process_name=project['process_name']),
shell=False)