【问题标题】:Deploying with Capistrano without direct access无需直接访问即可使用 Capistrano 进行部署
【发布时间】:2023-12-20 06:47:01
【问题描述】:

我想使用 Capistrano 来部署我们的 Web 应用程序,但我们无法直接访问应用程序服务器。

我们现在登录到管理服务器并从那里运行部署脚本。我们的开发人员机器无法访问应用服务器:

+-------------+   +--------------+   +--------------------+
| Dev machine +---+ Admin server +---+ Application server |
+-------------+   +--------------+   +--------------------+

如果我理解正确的话,Capistrano 只是使用 SSH 来运行远程脚本。有没有办法告诉它“代理”到应用服务器?

【问题讨论】:

    标签: deployment capistrano


    【解决方案1】:

    是的,你可以从你的开发机器上运行 cap,通过隧道通过管理服务器。您只需将管理服务器设置为“网关”,并确保您的 dev ssh 密钥在两台机器上。

    set :gateway, 'admin_server_ip'
    

    更多选项请参见http://blog.codefront.net/2008/05/15/deploying-with-capistrano-via-a-gateway/

    【讨论】:

    • 谢谢乔纳森,这就是我想要的!如果您不知道正确的关键字,则很难搜索。 :)
    最近更新 更多