views:

113

answers:

1

Hi All,

I have a bit of a situation. I've consumed about fourty-eleven different tutorials/books/videos on Capistrano, and none of them touch on out-of-the-norm cases. They all assume straightforward setups -- which, in my experience, is rarely the case.

Basically my situation is as follows:

1) I am developing the application on a system at home

2) My goal is to run the application on a server at the office running behind the company router. I have all the appropriate ports (21,22,80,3000,etc) forwarded to the machine so all is well as far as outside communication.

3) I'm using GIT for version control, and I PUSH my updates to the server itself.

My confusion comes in two areas:

1) How do I identify all the appropriate roles in the Capistrano recipe? Do I base them on the external IP or the internal?

2) How do I tell Capistrano to look locally (instead of trying to bounce out) on the same machine for the GIT repository? Of course, this assumes that Capistrano does anything at all from the server.

NOTE: One of the big issues I'm facing is the fact that none of the machines in the office can access the main IP from inside the network -- supposedly a protection from DOS and various other troubles -- so if for some reason the server needs to pretend the information is on an external machine when it's really local, it won't work.

A: 

Hi,

I think you need to look at the ':deploy_via' command; specifically 'copy':

http://www.capify.org/index.php/Understanding_Deployment_Strategies

Consider your home computer as remote, and the server as local, and this takes a local copy for the deployment.

Gav