2007年2月4日,星期日

Capistrano 1.4.0

jamis 发布

Capistrano 是一个实用工具,用于在多台机器上并行执行命令,例如自动化应用程序的部署。版本 1.4.0 现已发布。

安装方法

gem install capistrano

版本 1.4.0 修复了一些错误,并添加了一些新功能。新功能包括

  • 添加了一个“capture”辅助方法,可以轻松捕获远程命令的标准输出并将其作为字符串返回

result = capture(“uptime”)

  • 添加了一个“get”辅助方法,以镜像“put”命令,让您可以轻松地将文件从远程服务器下载到本地主机。它只会从匹配当前任务标准的第一个服务器下载。您必须安装 Net::SFTP (gem install net-sftp) 才能使用“get”辅助方法。

get “#{current_path}/log/production.log”, “logs/production.log”

  • 添加了对系统范围配置文件(system-wide config file)的支持。如果存在文件“/etc/capistrano.conf”,它将在加载标准配方文件后立即加载,并在加载任何用户特定配置之前加载。

修复的错误

  • 以前在使用网关(gateways)同时运行多个 capistrano 实例时,cap 会出现挂起的问题。此问题已修复。
  • 标准配方中的权限调整已重构为一个单独的任务(set_permissions),如果您所在的服务器不允许您设置组可写权限,可以覆盖此任务。
  • setup 任务现在使用 umask,以便中间目录以正确的权限创建。
  • 确保标准配方首先加载,以便 .caprc 等文件可以覆盖其定义。
  • cold_deploy 现在调用 update 而不是 deploy,以避免调用 restart 任务。
  • update_code 中的 'touch' 命令现在将 TZ 设置为 UTC,在该命令的持续时间内,以正确设置资源文件的时间戳。
  • 修复了 show_tasks 的宽度计算中的一个“离群值”错误(off-by-one bug)。

细微的弃用

  • 已删除 c/-caprc 开关,因为新的加载顺序(标准、系统、用户、应用程序)使其意义不大。

感谢 Mark Imbriaco、Neil Wilson、Bojan Mihelac、Joshua Wehner 和 Mike Bailey 对此次发布的贡献。