2007 年 7 月 21 日星期六

Capistrano 2.0

作者:jamis

Capistrano 2.0 正式发布。(什么是 Capistrano?

安装方法如下

gem install capistrano

该软件已发行过 4 个预览版本,与 1.4.1 相比,发生了重大变化。如果您目前正在使用 1.4.1,请务必在 http://www.capify.org 上查阅升级文档。如果您是 Capistrano 的全新用户,您可能希望阅读有关开始使用的内容。

自上次预览版本(第 4 号,版本 1.99.3)发布以来,主要的更改是修复 bug,但同时也加入了以下功能性修改

  • 上传程序增加了一小段睡眠时间,以防止CPU 在上传期间疯狂工作。
  • 您可以在提供给“put”的文件名中指定 $CAPISTRANO:HOST$ 占位符,它将被替换为将文件上传到的实际主机。

此外,一些人报告说SFTP 上传会为他们挂起。如果您遇到这种情况,请尝试在配方文件的顶部添加以下行

set :synchronous_connect, true

这将导致与服务器的连接按串行建立,而不是并行。因此,如果您要连接到大量服务器,这可能会让事情变得有点费时。但是,这似乎解决了SFTP挂起的问题。

您可以在此处阅读完整的变更日志。如果您正在使用 Capistrano,请考虑加入邮件列表,它是一个分享提示和报告问题的绝佳场所。

已知问题

是的,有几个问题。其中两个十分重要

  1. 如果您尝试使用“put”命令通过网关将文件上传到两个或更多主机,则很可能会遇到“corrupted mac”错误。这是由于 Net::SSH 和 Net::SFTP 中的设计缺陷造成的,而且(据我所知)无法解决。当前的最佳做法是上传到一个单独的主机,然后从远程主机使用 scp 或 rsync 提取文件。
  2. 极少数人报告说命令会莫名其妙地且不频繁地挂起。我怀疑这也是由于 Net::SSH 中的缺陷造成的,但我还没有确定。