2015-09-06 82 views
1

我可以用Capistrano非常轻松地将我的应用程序部署到我的服务器。有没有办法使用Capistrano“前滚”?

如果我觉得有什么不对,它也是容易回滚到以前的阶段,:

cap deploy:rollback

但是如果我想以后往前走?我是否必须再次部署(运行捆绑器,预编译资产,进行迁移,重新启动Passenger)?

我的意思是,有没有Capistrano命令可以简单地链接到最新的阶段,而无需再次部署? (当然,不需要手动登录到服务器并强制该链接)。

回答

1

您可以通过运行cap -T来查看所有可用的Capistrano任务。

要回答你的问题,我不认为你可以简单地做到这一点。一般来说,如果您要回退发行版,那是因为发行版很糟糕,您需要先更改代码。此外,如果您要回滚发行版,并且回滚涉及恢复迁移或其他此类流程,则还需要重新运行这些,这通常涉及完整版本部署。

当我遇到这种特殊情况时,我通常不希望完全回滚,所以我登录到服务器并手动弄乱了符号链接。

+0

我没有意识到,我想要的不是一个好的Capistrano功能,因为**迁移**,正是如此。有一段时间,我认为一个简单的符号链接重新分配可以完成这项工作。但是这样做,数据库可能会在不一致的阶段结束。 –

+0

这不是一个坏问题。有时候一个简单的符号链接重新分配正是你需要的;我自己做了好几次。但是,这并不安全,所以您需要手动执行此操作。 –

相关问题