Tomorrow night I will go to the Dutch python usergroup meeting in Arnhem which'll have a session on deploying your software. They also asked me for some input.
To deploy something, you first have got to properly release the items that make up the deployment. So python packages. There are three basic options for getting your released software (assumption: python packages) into your deployment (assumption: buildout or virtualenv or so):
svn:externals in deployment configurations are a possibility, but don't seem that handy to me. The last thing I did at zest was to use infrae.subversion to do tag checkouts from within the buildout config (using zest.stabilizer to easily grab the right tags).
At the health agency, where I just started working, we use a hand-made html page with ``svn+ssh://...../tag/1.0#egg=productname-1.0" urls and point to that page in buildout's find-links. Then buildout will take care of the rest for you. What I worked on the last days is a tool that trawls through our svn repository, finds all the tag directories and creates the html page automatically. I'll probably clean it up and make it releasable some day. Released on pypi, of course :-) It smells like an easy and low-hassle way to deal with the problem.
One small thing that I didn't consciously know: buildout first looks in the find-links and only checks the index if it doesn't find anything in the find-links.
My name is Reinout van Rees and I program in Python, I live in the Netherlands, I cycle recumbent bikes and I have a model railway.
Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):
This means we just need to copy our releases to a directory on the server (scp does the trick) and include the URL in the buildout find-links option.
Have a look at http://dist.jarn.com/public/ to see what it looks like.