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.
我有点情况。我已经在Capistrano上消费了大约四十一个不同的教程/书籍/视频,而且没有一个涉及非常规案例。他们都采用简单的设置 - 根据我的经验,这种设置很少。
Basically my situation is as follows:
基本上我的情况如下:
1) I am developing the application on a system at home
1)我正在家里的系统上开发应用程序
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.
2)我的目标是在公司路由器后面的办公室的服务器上运行应用程序。我将所有适当的端口(21,22,80,3000等)转发到了机器,所以一切都很好,就外部通信而言。
3) I'm using GIT for version control, and I PUSH my updates to the server itself.
3)我正在使用GIT进行版本控制,我将更新推送到服务器本身。
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?
1)如何识别Capistrano配方中的所有适当角色?我是基于外部IP还是内部?
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.
2)我如何告诉Capistrano在GIT存储库的同一台机器上本地(而不是试图反弹)?当然,这假设Capistrano在服务器上做了任何事情。
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.
注意:我面临的一个重大问题是,办公室中的任何一台机器都无法从网络内部访问主IP - 据说可以防止DOS和其他各种麻烦 - 所以如果由于某种原因服务器需要假装信息在外部机器上,当它真的是本地时,它将无法工作。
1 个解决方案
#1
0
I think you need to look at the ':deploy_via' command; specifically 'copy':
我想你需要看一下':deploy_via'命令;特别'复制':
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.
将您的家庭计算机视为远程计算机,将服务器视为本地计算机,并为部署采用本地副本。
#1
0
I think you need to look at the ':deploy_via' command; specifically 'copy':
我想你需要看一下':deploy_via'命令;特别'复制':
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.
将您的家庭计算机视为远程计算机,将服务器视为本地计算机,并为部署采用本地副本。