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 branch -
fab 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 branch -
fab 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