"""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.syncdb() helpers.migrate() # TODO restart application server