Files
pecan/docs/source/deployment.rst
Ryan Petrello 4d18835e9f Merge remote-tracking branch 'origin/deployment_docs' into next
Conflicts:
	docs/source/deployment.rst
	docs/source/routing.rst
2012-03-05 11:54:22 -05:00

83 lines
2.1 KiB
ReStructuredText

.. _deployment:
Deployment Recipes
==================
Deploying Pecan projects
========================
Deploying a pecan project can be accomplished in several ways. You may
already be familiar with deployment methodologies for other Python
projects, in which case, try that! Pecan doesn't deviate from the
standards laid out by similar Python web frameworks before it.
Here we will outline some of the common methods for deploying your Pecan
project.
Good ol' fashioned source control.
-----------------------------------
Why not? It works! In our modern world of distributed SCM tools, we find
using source control as a completely acceptable method for deployment.
Sure it's a bit more manual than you might like, but it gets the job
done, and rollbacks are free (if you're into that kind of thing ;)). For
this guide, it is assumed you are developing your application in a git
repository.
Here are some tips, free of charge::
* Develop on "feature" branches.
* All merge back to "master" when sprint is complete.
* Tag "release" branches.
To setup::
* git clone <project> /opt/project/
* git branch --track <release_branch> origin/<release_branch>
* git checkout <release_branch>
* python setup.py install
To deploy going forward::
* cd /opt/project/
* git pull
* git branch --track <release_branch> origin/<release_branch>
* git checkout <release_branch>
* python setup.py install
That should do it.
Fabric
------
Fabric makes it way more fun to deploy. You can write straight up python
to automate the SCM deployments, or even go so far as to build a full fledged
release system with it.
Capistrono
----------
Much like fabric, but they built in some out of the box deployment
tools. We'll cover that here.
Chef
----
Chef borrows it's deployment methodologies from Capistrono, we'll cover
that here.
Whiskey Disk
------------
The embarrassingly fast deployment tool. Decoupled from frameworks, one
specific design goal, to deploy quickly and easily. YAML configuration.
Egg
---
Deploy binary packages using python's distribution utilities.
RPM
---
Deploy your apps with RPM's, built with python's distribution utilities.