好了,我们正在接近终点了!Capistrano 2.0 预览版第 3 版现已推出。
Capistrano 是一个用于在一台或多台远程计算机上自动执行任务的实用工具。你可以在 www.capify.org 上阅读有关它的所有信息。
要安装 Preview #3,你需要从 Rails beta gem 服务器下载它
gem install -s http://gems.rubyonrails.org capistrano
与公关部第 3 版配套的是 capify.org 网站上的新文档页面:Capistrano 基础知识。它将指导你完成 Capistrano 的主要功能,但不会涉及部署。这对于那些希望在非部署场景中使用 Capistrano 的人来说是一个很好的介绍。
Preview #3 包含以下更改和增强功能
功能: Mercurial 和 CVS 现在开箱即用。只需将 :scm 变量设置为 :mercurial 或 :cvs,如下所示
set :scm, :mercurial # or set :scm, :cvs
感谢 Tobias Luetke 和 Matthew Elder 为 Mercurial 模块提供的帮助,以及感谢 Brian Phillips 为 CVS 模块提供的帮助。
功能:现在有一个 :default_environment 变量,它是一个散列,可用于设置对执行的所有命令都应存在的环境变量。例如
default_environment["PATH"] = "/bin:/usr/bin:/usr/local/bin:/home/jamis/bin"
功能:现在通过“sh”显式调用所有命令,这意味着即使你的默认用户 shell 不是 POSIX(例如 tcsh、csh 等),你也可以正常使用 Capistrano。请注意,如果你在 Capistrano 脚本中使用了 tcsh 或 csh 语法,你现在需要设置 :default_shell 变量以使用你选择的(非 POSIX)shell
set :default_shell, "/usr/bin/tcsh"
功能:你可以声明空角色,Capistrano 不会抱怨。这对于预先声明需要存在的角色(因为任务定义依赖于它们)但其中可能没有任何服务器(取决于运行时条件)非常有用。
功能:现在,使用服务器定义(例如,“[email protected]:1234”)指定用户名和端口优先于 ssh_options 散列中的 :username 和 :port 设置,而不是相反。这让你可以通过 ssh_options 设置一个常规默认值,并在服务器定义本身中按服务器为基础进行覆盖。
还有一些其他较小的更改和修复;你可以阅读 CHANGELOG 来了解所有血腥细节。