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

Rea*_*nly 77 capistrano

我尝试使用"上限回滚"但我收到以下错误:

$ cap回滚

任务"回滚"不存在

我需要做一些额外的设置才能让回滚工作吗?

Rea*_*nly 152

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

cap deploy:rollback


Sno*_*ash 45

如果您使用多级gem(例如,您require 'capistrano/ext/multistage'在deploy.rb文件中)使用不同的环境(例如,分段,生产),则Capistrano默认为分段.因此,要回滚生产环境,您需要:

cap production deploy:rollback
Run Code Online (Sandbox Code Playgroud)

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

cap deploy:rollback
Run Code Online (Sandbox Code Playgroud)

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


小智 12

简单回滚:

$ cap deploy:rollback
Run Code Online (Sandbox Code Playgroud)

回滚到特定版本:

$ cap deploy:rollback -s previous_release= [path to previous release under releases folder ]
Run Code Online (Sandbox Code Playgroud)


Mar*_*tin 9

实际上是

cap deploy:rollback:code
Run Code Online (Sandbox Code Playgroud)

deploy:rollback可以回滚到以前的版本,不一定是以前部署的版本.

  • 我意识到这个答案与接受的答案有很大的不同,但根据`rollback`命名空间的代码,截至今天,`cap deploy:rollback`的默认操作与代码回滚**和*相同*重启.参考:https://github.com/capistrano/capistrano/blob/master/lib/capistrano/recipes/deploy.rb#L325 (6认同)