summaryrefslogtreecommitdiff
path: root/fabfile/__init__.py
blob: d6733aaad928b344391b88a80da18f6bd16bf93c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
"""subweb deployment package.

Always prefix a task with the appropriate setup.

Examples:

    $ fab setups.stage deploy
    $ fab setups.production version
    $ fab setups.prod load_fixture:fixtures/flatpages.json
"""
from fabric.api import *

from fabfile import helpers
from fabfile import setups


@task
def deploy():
    """Deploys the project.

    Updates the sources, links the appropriate settings, collects the static
    files and synchronizes/migrates the database.

    Installing/updating Python packages or loading fixtures needs to be done
    manually.
    """
    helpers.update_project()
    helpers.link_settings()
    helpers.collect_static()
    helpers.manage('supervisor stop gunicorn')
    helpers.syncdb()
    helpers.migrate()
    helpers.manage('supervisor start gunicorn')