即将推出的 Capistrano 2.0 版本不断发展!远程管理单个服务器和服务器群集从未如此轻松。借助 Capistrano,您可以
好吧,也许最后这一条除外,除非她是非常特别的一位女士。但其他的肯定适用。
Capistrano 2.0 预览版 2 现已推出(版本 1.99.1)。您只能从 Rails 测试版 gem 服务器上下载
注意Capistrano 2.0 与 Capistrano 1.x 配方不 100% 向后兼容。如需了解有关升级的更多信息,请访问 http://www.capify.org/upgrade。
要安装预览版,您还需要确保已经安装以下 gem,Capistrano 依赖于这些 gem(并且可以在主要的 Rubygems 存储库中找到这些 gem)
下载它,安装它,试用它。进行试验。报告哪些功能不起作用。我们即将向公众发布!
那么,现在已经讨论完了这些内容,让我们来谈谈 PR2 中的新功能。首先,缺陷修复
接下来,新功能
功能:“deploy:cold”任务将在启动应用程序之前运行迁移。如果您是第一次部署应用程序,那么数据可能也需要设置!
功能:现在不鼓励扩展任务的旧方法(例如,名为“before_deploy”和“after_deploy”的任务扩展“deploy”任务)(尽管还未正式弃用)。新方法使用一些新的关键字
更一般地说,您可以使用“on”关键字将您自己创建的任务附加到任意“事件”
事件在任意事件被调用之前会触发 :before,事件完成之后,:after 会被立刻调用。Capistrano 目前支持四种其它事件
你甚至可以定义你自己的事件,然后使用“trigger”方法触发它们。
功能:“deploy:app”命名空间已被删除。它包含的任务现在直接位于“deploy”命名空间中。因此,“deploy:app:start”和“deploy:app:stop”现在分别为“deploy:start”和“deploy:stop”。
功能:如果你将“scm_command”设置为自定义值,因为你的SCM位于远程主机上的非标准位置,如果你SCM命令没有位于你本地主机的同一个位置,你以前遇到过一些问题。现在,如果你需要不同的 scm_command 设置,具体取决于它是在本地还是远程调用,你可以选择单独指定其中一个
请注意,如果设置“scm_command”,则“local_scm_command”将默认为该值,但如果设置“local_scm_command”,则“scm_command”不受影响。
功能:服务器现在由 Capistrano 根据其完整连接信息(包括主机名、用户名和端口)唯一标识。(以前,服务器仅基于主机名唯一。)这可以在 NAT 环境中使用 Capistrano,其中所有服务器都使用相同的主机名,但不同的端口号。
功能:“capify”命令现在理解“-h”开关,它应该能让人们的使用变得更容易。