您如何使用capistrano回滚到以前部署的版本?


78

我尝试使用“上限回滚”,但出现以下错误:

$上限回滚

任务“回滚”不存在

我需要做一些其他设置才能使回滚工作吗?

Answers:


153

刚刚在这里找到答案http://github.com/leehambley/railsless-deploy

上限部署:回滚


好资源。这似乎有更多的方法和更多的文档:capitate.rubyforge.org/recipes/deploy.html
JellicleCat

如果我不仅要回滚到以前的部署,还想回滚到以前的部署,该怎么办?是否有一些参数或环境变量传递给此命令,以指定要回滚到的版本?
埃内斯托

有什么方法可以回滚到某些特定版本?这个答案是不Capistrano的3工作
阿图尔Khanduri

47

如果您使用多阶段gem(例如require 'capistrano/ext/multistage',您的deploy.rb文件中)使用不同的环境(例如,登台,生产),则Capistrano默认为登台。因此,要回退生产环境,您可以执行以下操作:

cap production deploy:rollback

并且,假设您已经设置了默认设置,这将回滚暂存:

cap deploy:rollback

值得知道您是否在使用不同的环境,并想知道为什么它不适用于生产环境。


14

简单回滚:

$ cap deploy:rollback

回滚到特定版本:

$ cap deploy:rollback -s previous_release= [path to previous release under releases folder ]

9

其实是

cap deploy:rollback:code

deploy:rollback可能回滚到以前的版本,而不必回滚到以前部署的版本。


6
我意识到,将这个答案与接受的答案区分开来是很长的时间,但是根据rollback命名空间的代码,到今天为止,默认操作的作用cap deploy:rollback与代码回滚重新启动相同。参考文献:github.com/capistrano/capistrano/blob/master/lib/capistrano/...
jefflunt
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.