This module implements Fabric to perform the following tasks:
fab refresh
to sync your database with the servers and rsync your media assets.fab topic
to create a new topic-specific branchfab sync
to pull changes from the master branch into your local topic branch.fab merge
to merge the changes from your topic branch back into master, or merge the master branch into the production branch.fab pull_request
to submit a pull request on GitHub for your topic to be merged into the production branchfab deploy
to run a "fast" or "full" deploy to either staging or production servers
Automation requires hub to perform GitHub pull requests.
Install via pip:
$ pip install automation
Create fabfile.py in your project's root directory and tell automation about your project, then import automation:
from fabric.api import env
env.project_name = 'myproject'
env.repo_source = 'git@github.com:myname/myproject.git'
env.django_settings_module = 'myproject.settings'
env.django_test_settings_module = 'myproject.test_settings'
env.roledefs = {
'staging': ['web@12.12.12.12'],
'production': ['web@45.45.45.45']}
from automation import *
Exactly as mentioned above, just enter the command in your shell. Note that you must be in your project's directory (or a sub-directory) thereof for Fabric to be able to find your fabfile.
e.g.
~/projects/myproject $ fab topic
Email any questions to dustin@dustinfarris.com or report issues on GitHub