- Published on
At our company we use Capistrano for deploys. It reads Ruby instructions
from a ./Capfile in the project's root directory, then deploys
accordingly via SSH. It has support for releases, shared log dirs, rollbacks,
rsync vs remote cached git deploys, etc. It can be run from any machine
that has access to your production servers. Be it your workstation, or a
Continuous Integration server.
So all in all pretty convenient but typically it assumes you know what servers you
want to deploy to at the time of writing your Capfile.
What if the composition of your platform changes often? Will you keep changing
the Capfile right before every deploy? Seems like effort ; )