2007年7月21日,星期六

Capistrano 2.0

jamis 发布

Capistrano 2.0 已经正式发布。(What is Capistrano? Capistrano 是什么?)

按照如下方式安装

gem install capistrano

它已经经历了四个预览版,并且自 1.4.1 版本以来发生了重大变化。如果您当前使用的是 1.4.1 版本,请务必查看 http://www.capify.org 上的 升级文档。如果您是 Capistrano 的新手,您可能想阅读 入门指南

自上次预览版(第四个,版本 1.99.3)以来,主要的变化是 bug 修复,但也加入了一些功能性修改:

  • 上传器增加了一个微小的睡眠时间,以防止上传过程中 CPU 过载。
  • 您可以在“put”命令的文件名中指定 `$CAPISTRANO:HOST$` 占位符,它将被替换为实际上传文件的目标主机。

另外,一些用户报告 SFTP 上传会卡住。如果发生这种情况,请尝试在您的 recipe 文件顶部添加以下行:

set :synchronous_connect, true

这将导致连接到服务器以串行方式建立,而不是并行方式。因此,如果您需要连接大量服务器,这可能会使过程更耗时。然而,这似乎可以解决 SFTP 卡住的问题。

您可以在 这里 阅读完整的更新日志。如果您正在使用 Capistrano,请考虑加入 邮件列表,这是一个分享技巧和报告问题的绝佳场所。

已知问题

是的,有一些。其中两个具有即时重要性:

  1. 如果您尝试使用“put”命令通过网关将文件上传到两个或更多主机,您很可能会遇到“corrupted mac”错误。这是由于 Net::SSH 和 Net::SFTP 的设计缺陷造成的,(据我所知)无法解决。目前最佳实践是将文件上传到单个主机,然后使用 scp 或 rsync 从远程主机拉取文件。
  2. 极少数用户报告命令偶尔会莫名其妙地挂起。我怀疑这也与 Net::SSH 的缺陷有关,但尚未确定。