I've found sparse information on deploying non-Rails apps, but I've had
a hard time making heads or tails of them, and haven't found any
complete recipes.
If anyone has some experience and wouldn't mind answering some basic
questions, I'd be grateful.
Specifically, I'm looking to:
1. Deploy/Update applications from SVN to multiple web servers
2. *Possibly* run nightly cleanup/administrative tasks on multiple web
servers - I'm thinking it's easier to manage cron tasks on one
deployment server than each server independently
It seems like the basic idea is you create a task in your recipe, then
specify that task as a command line argument. (Unfortunately, that's
about as far as I've gotten with it)
p.s. - Since I expect to hear this: Yes, I would prefer to use a pure
Python tool, but I don't want to reinvent the wheel if a capable open
source tool exists.
Maybe post of django-users?
I looked at using Capistrano (nee` Switchtower) when starting work at
Pegasus, but at the time, we only had 1 db and 1 web server, so after
fiddling with it for about an hour I decided to put away my toys. :)
I guess that's to say I got about as far as you...
We've started using it here at World Online; so far it seems to work great.
I can't really take any credit for the customizations we use -- our sysadmin
wrote them -- but I can tell you that we pretty much wrote an entire set of
custom tasks. In essence, we just use Cap's abilities to execute commands on
multiple servers, and it works quite well.
Jacob
In my quest to generally keep-it-simple i'm planning to roll my own
using something like paramiko (written in Python)
http://www.lag.net/paramiko/docs/paramiko.SSHClient-class.html
client = SSHClient()
client.load_system_host_keys()
client.connect('ssh.example.com')
stdin, stdout, stderr = client.exec_command('ls -l')
This looks simple enough.
Any drawbacks in this kind of approach?
Lorenzo