Skip to content
Snippets Groups Projects
Commit 9a4ed9f5 authored by Ben Adida's avatar Ben Adida
Browse files

updated fab file, almost ready

parent f7da2664
No related branches found
No related tags found
No related merge requests found
......@@ -5,14 +5,20 @@ A fabric deployment script for Helios that assumes the following:
- locally, development is /web/helios-server
- remotely, production is /web/production/helios-server
- remotely, staging is /web/staging/helios-server
- all of these directories are git checkouts that have a proper origin pointer
Deployment is git and tag based, so
Other assumptions that should probably change:
- both staging and production run under the same apache instance
Deployment is git and tag based, so:
fab staging_deploy:tag=v3.0.4,hosts="vote.heliosvoting.org"
fab production_deploy:tag=v3.0.5,hosts="vote.heliosvoting.org"
IMPORTANT: settings file may need to be tweaked manually
"""
from fabric.api import local, settings, abort, cd, run
from fabric.api import local, settings, abort, cd, run, sudo
from fabric.contrib.console import confirm
STAGING_DIR = "/web/staging/helios-server"
......@@ -34,16 +40,32 @@ def check_tag(tag, path):
abort("no remote tag %s" % tag)
def checkout_tag(tag, path):
pass
with cd(path):
result = run('git checkout %s' % tag)
if result.failed:
abort("on remote: could not check out tag %s" % tag)
def migrate_db(path):
pass
with cd(path):
result = run('python manage.py migrate')
if result.failed:
abort("could not migrate")
def restart_apache():
pass
result = sudo('/etc/init.d/apache2 restart')
if result.failed:
abort("could not restart apache")
def deploy_staging(tag):
confirm("Ready to deploy %s to staging?" % tag)
def deploy(tag, path):
confirm("Ready to deploy %s to %s?" % (tag,path))
run_tests()
check_tag(tag, path=STAGING_DIR)
check_tag(tag, path=path)
checkout_tag(tag, path=path)
#migrate_db(path=path)
restart_apache()
def staging_deploy(tag):
deploy(tag, path=STAGING_DIR)
def production_deploy(tag):
deploy(tag, path=PRODUCTION_DIR)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment