automation

Server and Git automation

Downloads
7.3K
Stars
10
Committers
1

Automation

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

Requirements

Automation requires hub to perform GitHub pull requests.

Installation

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 = '[email protected]:myname/myproject.git'
env.django_settings_module = 'myproject.settings'
env.django_test_settings_module = 'myproject.test_settings'
env.roledefs = {
  'staging': ['[email protected]'],
  'production': ['[email protected]']}


from automation import *

Usage

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

Help

Email any questions to [email protected] or report issues on GitHub