I would like to use Capistrano to deploy our web application but we don’t have direct access to the application server.
We now log in to the admin server and run the deploy script from there. The application server is not reachable from our developers machines:
+-------------+ +--------------+ +--------------------+
| Dev machine +---+ Admin server +---+ Application server |
+-------------+ +--------------+ +--------------------+
If I understand correctly Capistrano just uses SSH to run remote scripts. Is there a way to tell it to “proxy” through to the application server?
Yes, you can run cap from your Dev machine, tunneled through the Admin server. You just have to set Admin server as a “gateway”, and ensure your dev ssh key is on both machines.
See http://blog.codefront.net/2008/05/15/deploying-with-capistrano-via-a-gateway/ for more options.