Giter Club home page Giter Club logo

red-fab-deploy's Introduction

red-fab-deploy: django deployment tool

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

This project is specifically targeted at deploying websites built using the red-start project creation tool. Basically this means you must be using git and follow the same folder and file layout as found in that tool.

This project was inspired by django-fab-deploy <http://packages.python.org/django-fab-deploy> and cuisine <https://github.com/ff0000/cuisine/>.

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 -e git+git://github.com/bitprophet/fabric.git#egg=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 fab_deploy. As well as specify which provider this setup is for. You do this by import * from that package. For example:

from fab_deploy.joyent 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.

Your git remotes will also be scanned so that you can refer to remote servers by their git names. So if you have a git remote named web1 -H web1 will be a valid host.

Overriding behavior

In many cases you will want to customize the behavior of a certain task. For this reason most tasks are implemented as 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.

Tasks

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

red-fab-deploy's People

Contributors

cgv0zq avatar chrisgilmerproj avatar claudiob avatar deserat avatar dji avatar mbarlow avatar pombredanne avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.