部署 一些关于部署的疑问,求解惑

zernel · 2012年08月02日 · 最后由 Zernel 回复于 2012年08月03日 · 2694 次阅读

我想要这样的效果: 当 release 完后在本地执行一个命令,然后系统自动通过 ssh 登录到远程服务器,进入到项目目录,然后更新 master 下的代码;检测 db/migrate 下有没有更新,如果有的话执行 migrate;检测 assets 有没有更新,有的话自动编译;最后重启服务器。 这样的需求该怎么样做比较好?用 Capistrano?

还有一个疑问:Capistrano 在部署的时候会建立了类似 current/ , releases/ 的目录结构,然后把每次 release 的项目都保存在 releases/ 下面,而我是用 git-flow 在每次 release 完后就打 tag,出了问题就 reset 到指定的 release tag,不知道大家一般是怎么样做的,求指教,谢谢:)

你说的完全符合 Capistrano 啊

而我是用 git-flow 在每次 release 完后就打 tag,出了问题就 reset 到指定的 release tag,

不用 reset 啊,直接 rollback 啊

#1 楼 @ywencn 是 Capistrano 已经帮我做好了这些功能还是可以自己用 Capistrano 去定制?我刚才试着定制过一下,遇到不少问题,所以发个帖问一下 http://railscasts.com/episodes/335-deploying-to-a-vps 我只是通过视频用 Capistrano 部署过一次,具体的还不是很了解:)

我用的是 vlad, 这些个功能都有

#2 楼 @Zernel 你需要的 cap 都提供了。

用 Capistrano 就适合你的需求了

#4 楼 @Rei #5 楼 @HungYuHei 好吧,我再深入研究下 Capistrano

需要 登录 后方可回复, 如果你还没有账号请 注册新账号