diff --git a/fabfile.py b/fabfile.py new file mode 100644 index 0000000..9f86381 --- /dev/null +++ b/fabfile.py @@ -0,0 +1,50 @@ + +from fabric.api import run, sudo, env +from fabric.contrib.files import exists +from fabric.context_managers import prefix, cd +from fabric.decorators import with_settings + +env.user = 'colab' # key depends on env +env.use_shell = False + +environments = { + 'dev': { + 'hosts': ['127.0.0.1'], + 'port': 2222, + 'key_filename': '~/.vagrant.d/insecure_private_key', + }, + 'live': { + 'hosts': [], #TODO + 'key_filename': '~/.ssh/id_rsa', + }, +} + + +SOURCE_VENV = 'source /usr/local/bin/virtualenvwrapper.sh' +WORKON_COLAB = '{} && workon colab'.format(SOURCE_VENV) + + +def environment(name): + env.update(environments[name]) + env.environment = name +environment('dev') + + +def install(): + if not exists('~colab/.virtualenvs/colab'): + with prefix(SOURCE_VENV): + run('mkvirtualenv colab') + + if not exists('~colab/colab'): + run('git clone https://github.com/TracyWebTech/colab ~colab/colab') + + sudo('supervisorctl reload', shell=False ) + + +def deploy(): + with cd('~colab/colab'): + run('git pull') + + with prefix(WORKON_COLAB): + run('pip install -r ~colab/colab/requirements.txt') + -- libgit2 0.21.2