2015-12-11 70 views
0

我们有不同的服务器环境,如stagingproduction。我希望Capistrano检查我是否推送到正确的服务器,以便我们不会意外地将它推送到错误的服务器。如何在已确认的服务器上部署Capistrano部署IP

基本上,如果我想推到生产,例如,它会首先确认它是cap production deploy类型的正确IP地址,否则该过程将停止并返回错误消息。

这可能吗?如何最好地做到这一点?

回答

0

让你的分支机构设置,防止意外打字cap production deploy不会伤害

但要加倍小心,你可以添加得到hostnaneifconfig输出任务,运行before 'deploy:started'和失败/如果当前阶段是抛出一个错误不是它应该是什么

+0

你有任何示例代码?具体来说,你将如何得到主机名或IP返回? – JCC

+0

使用capistrano的'capture'方法,它在远程运行命令并返回输出 – Vasfed

0

我最终做了一些简单的事情,并没有像我认为的那样完成同样的事情。我只是确保在部署代码中使用服务器的实际IP地址,而不是使用url。

所以,与其这样:

server 'demo.example.com', :web, :app, :worker, :db, :cache, primary: true

使用此:

server '100.100.100.100', :web, :app, :worker, :db, :cache, primary: true

这使得它无法部署到错误的服务器为您的DNS将不会被解释路线。