This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
| name | age | message | |
|---|---|---|---|
| |
.gitignore | ||
| |
LICENSE | ||
| |
README.rst | ||
| |
__init__.py | ||
| |
api_complex.py | ||
| |
api_simple.py | ||
| |
deployable.py |
README.rst
deployable
A simple system for repeatable deploys.
Why?
There are a number of deployment systems out there (such as Capistrano, zc.buildout, pip requirements, etc.) but most are very complicated or are language-specific. deployable aims to be language-agnostic, easy to use, repeatable, flexible and fault-tolerant.
deployable is ideal for setting up a single machine. Should you need deployment on multiple machines, you might want to consider using deployable with Fabric.
Goals
- Language-agnostic
- Repeatable
- Easy to use
- Easy to extend
- Work with many major version control systems
- Allow for cached deployment (pull sources to a single machine then redistribute to other servers)
Requirements
- Requires Python 2.4+ w/ no other dependancies.
- No install required, just include the deployable.py file along with your source code.
- Only test on Unix systems, though it may work on Windows. (Reports/patches accepted!)
Usage
Simply create a Python file of with the name of your choice and fill it with:
from deployable import *
install_list = [
Shell(command='mkdir foo'),
Tarball(url='http://pypi.python.org/packages/source/W/Whoosh/Whoosh-0.3.0b24.zip'),
Git(url='git://github.com/toastdriven/django-haystack.git'),
Svn(url='http://code.djangoproject.com/svn/django/trunk/django'),
GitSvn(url='http://pysolr.googlecode.com/svn/trunk/'),
Hg(url='http://bitbucket.org/ubernostrum/django-profiles/'),
]
deploy(install_list)
Then run the file (i.e. python deploy_me_please.py). You'll get a log of what's going on. For advanced usage, see the api_complex.py sample file included with this distribution.
Supported
Currently supported commands are:
- shell
- tarball
- Git
- Mercurial
- Subversion
- git-svn








