Capistrano 是一个用于管理远程服务器和自动执行远程任务的实用程序。它通常用于部署 Rails 应用程序(但还可以做其他很多事情!)。版本 2.2.0 现已推出(无论如何,它现已发布,你可能需要等待文件传播到 gem 镜像)。
gem install capistrano
版本 2.2.0 具有以下更改
功能:动态角色定义。role() 方法现在接受一个块,它应返回主机名、Capistrano::ServerDefinition 对象、主机名数组或 Capistrano::ServerDefinition 对象数组。可用于在运行时描述角色中的服务器。
role :app do hosts = some_method_that_looks_up_the_current_hosts hosts[0,3] end
功能:使用 server() 方法的替代以服务器为中心的 role 定义
role :app, "server" role :web, "server" # the above is the same as this: server "server", :app, :web
功能:在任务中支持 :max_hosts 选项,以便限制任务,使其一次仅在
task :ping, :max_hosts => 100 do # anything here will only run against 100 hosts at a time end # alternatively, you can pass :max_hosts to the run command itself for # finer granularity task :pong do # this will run on ALL hosts at once run "something" # this will run on no more than 100 hosts at a time run "something-else", :max_hosts => 100 end
增强:改进了 Git 支持!
增强:在 Mercurial SCM 中支持密码提示。
增强:实现 Bzr#next_revision,以便可正确报告待处理更改,并使用 checkout ——lightweight 而不是 branch。
增强:带回 perforce SCM 的 :p4sync_flags 和 :p4client_root 变量。
此外,还修复了几个次要错误和错别字。你可以看到CHANGELOG了解所有血腥的详细信息。
一如既往,请通过 Rails trac 报告错误,网址是 http://dev.rubyonrails.org。而且如果你尚未订阅Capistrano 邮件列表,那么所有很酷的 Capistrano 用户都在此出没。