red-fab-deploy2

Code deployment tool


License
MIT
Install
pip install red-fab-deploy2==0.2.5

Documentation

red-fab-deploy: django deployment tool

red-fab-deploy is a collection of Fabric scripts for deploying and managing projects created at RED. License is MIT.

This project is specifically targeted at deploying websites built using the generator-red-django project creation tool.

These tools are being geared towards deploying on Joyent but can be extended to be used on other providers.

Installation

IMPORTANT: red-fab-deploy will only work if you install the following packages:

$ pip install fabric

To use the joyent provider you will need smartdc

$ pip install smartdc

Deployment and Setup

Fabfile

The first thing you need to do is set up your fabfile. This file should import * from the flavor you want to use. The basic structure provider.os. For example:

from fab_deploy2.joyent.smartos import *

Server Configs

In your projects deploy folder there should be a file named servers.ini. This file keeps track of the different types of servers and any relationships between them. As you add servers using this tool the file will be updated. You also configure firewalls using this file by specifing which ports should be open to which other roles.

Fabric roles are also setup based on the information in this file. So adding -R app-server for example will run your specifed command on all servers in that section of the config file.

Overriding behavior

In many cases you will want to customize the behavior of a certain task. For this reason most tasks are implemented as context task classes. You can inherit from the task that you want to customize, make your changes and then in your fabfile override that task name with your new class. See the docs for more information.

Tasks

To list the tasks run fab --list. Running fab -d task_name will print the full docstring for the given task.