我的公司管理着大量服务器,这些服务器分布在多个服务器上。按照惯例,我们的生产服务器仅允许从少数网关主机进行 SSH 访问。这些 Web 服务器中的大多数运行 PHP 项目,这些项目使用在一台主网关主机上运行的基于 rsync 的部署脚本。
也就是说,我们正在使用 Django 构建几个大型应用程序,并希望使用 Fabric 来管理部署。Fabric尚不支持 SSH 隧道但它似乎在他们的路线图中。
我的选择似乎是:
- 抛弃我们的网关主机规则,转而遵循 Django 部署最佳实践。
- 在 bash 中滚动我自己的 Django 部署脚本,将其安装在我们的网关主机上,并从本地 Fabric 触发它。
也许我在这里问了错误的问题,Fabric 不是正确的选择,但它感觉真的很自然,如果可能的话我愿意使用它。
答案1
Fabric 不需要支持 SSH 隧道;它只需要一点 SSH 配置(ProxyCommand
ftw)就可以了。当然,SSH 堡垒主机无论如何都是一个相当愚蠢的想法;它们就像是为那些害怕 IP 路由的人提供的 VPN。