首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Capistrano,如何回滚到特定版本?

使用Capistrano,如何回滚到特定版本?
EN

Stack Overflow用户
提问于 2010-12-06 00:17:08
回答 3查看 13.3K关注 0票数 16

使用Capistrano,如何回滚到特定版本?

我的服务器的文件夹有一个/release文件夹,如何回滚到一个特定的文件夹?

我是否可以在本地获取计算机上的版本列表?

我正在使用GIT,但这不起作用:

代码语言:javascript
复制
cap deploy -s revision:HASH
EN

回答 3

Stack Overflow用户

发布于 2012-06-21 21:24:14

更新答案是在capistrano version2中编写的。

代码语言:javascript
复制
cap production deploy:rollback ROLLBACK_RELEASE=2010123

有关更多详细信息,请参阅Capistrano documentation

感谢@codenoob指出这一点!

旧版本

下面的代码应该可以工作:

代码语言:javascript
复制
cap deploy:rollback -s previous_release=/path/to/release/on/server

示例:

假设您已经将应用程序部署到/srv/some_app,并且具有以下版本/目录结构:

代码语言:javascript
复制
|- srv
   |- some_app
      |- shared
      |- current -> /srv/some_app/releases/2012123
      |- releases
         |- 2010123
         |- 2011123
         |- 2012123

如果您现在想从当前(2012123)发行版返回到2010123发行版,您可以使用

代码语言:javascript
复制
cap deploy:rollback -s previous_release=/srv/some_app/releases/2010123
票数 46
EN

Stack Overflow用户

发布于 2016-08-26 18:26:21

另一种选择是

代码语言:javascript
复制
$ cap deploy:rollback ROLLBACK_RELEASE=20160614133327

来自http://capistranorb.com/documentation/getting-started/rollbacks/#

票数 4
EN

Stack Overflow用户

发布于 2011-05-30 18:57:55

Capistrano按日期/时间命名发布目录。

在capistrano shell中,您可以连接到要部署到的所有计算机,并从那里检查它们:

代码语言:javascript
复制
$ cap shell
# Show them - it might be a long list
cap> ls  /mnt/html/deployed/releases/
 ** [out :: hostname.example.com] 20110521130031
# how many releases on each machine?
cap> ls  /mnt/html/deployed/releases/ |wc -l
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4359749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档