好了,我们即将到达终点线!Capistrano 2.0 预览版 #3 现已发布。
Capistrano 是一个用于在一台或多台远程机器上自动化执行任务的实用工具。您可以在 www.capify.org 上阅读所有相关信息。
要安装预览版 #3,您需要从 Rails beta gem 服务器获取它
gem install -s http://gems.rubyonrails.org capistrano
与 PR3 一同发布的是 capify.org 网站上一篇新的文档页面:Capistrano 基础知识。这篇文档将引导您了解 Capistrano 的主要功能,但不会涉及部署。这对于希望在非部署场景中使用 Capistrano 的用户来说,是一个很好的入门。
预览版 #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"
功能: 您可以声明空的 role,Capistrano 不会报错。这对于预先声明需要存在的 role(因为任务定义依赖于它们),但可能因为运行时条件而没有任何服务器的 role(取决于运行时条件)很有用。
功能: 在服务器定义中指定的用户名和端口(例如 “fred@some.server.com:1234”)现在优先于 ssh_options 哈希中的 :username 和 :port 设置,而不是反过来。这允许您通过 ssh_options 设置一个通用的默认值,并在服务器定义本身中为每个服务器进行覆盖。
还有其他一些小的更改和修复;您可以阅读 CHANGELOG 来了解所有详细信息。