bos*_*vic 2 proxy capistrano web-deployment
我需要部署的服务器位于专用网络中(没有公共IP).我可以通过VPN从网络外部访问服务器,但是遇到困难,并且每次都会使用capistrano进行部署.
我可以访问具有公共IP的专用网络中的另一台计算机.
是否可以设置capistrano部署脚本,以便部署通过该"代理"服务器?
你可以为我的情况建议一些其他的解决方案,然后解决vpn的问题,这是我手中的问题.
在我看来,设置一个github钩子可以触发服务器上的一个脚本然后拉动分支,但这比capistrano的做法要少得多:没有迁移,修订,捆绑更新,服务器重启等等......
Ali*_*man 11
Capistrano通过SSH与目标服务器通信 - 如果您通过" 堡垒 "服务器设置SSH代理连接并登陆相应的最终主机,那么Capistrano - 通过该连接 - 将执行相同的操作.
最简单的设置方法之一是使用〜/ .ssh/config块,描述您想要结束的位置,以及能够访问它的代理.
究竟如何配置,取决于您如何设置网络.
这是一个(编辑主机名).ssh/config文件我刚刚创建SSH:home通过public然后再到final:
Host internalvia
HostName final.hostname.com
User secretdeployuser
IdentityFile ~/.ssh/id_rsa
ProxyCommand ssh public-server.com -W %h:%p
Run Code Online (Sandbox Code Playgroud)
我可以ssh internalvia,然后降落在名为final.hostname.com的机器上,但我通过public-server.com(首先登录,作为我自己,最后登录为'secretdeployuser'.公共和最终都有我平时id_rsa密钥允许登录,标准转发允许我登录到两者,甚至互相登录.
当这对您来说可以从命令行进入最终位置时,您可以将internalvia主机作为主机置于Capistrano设置中.
role :app, %w{ secretdeployuser@internalvia }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1445 次 |
| 最近记录: |