Capistrano 是一个用于在多台机器上并行执行命令的实用程序,它可以自动执行应用程序部署等任务。第 1.4.0 版本现已推出。
安装方法
gem install capistrano
第 1.4.0 版本修复了几个错误,并添加了一些功能。这些新功能
- 已添加一个“capture”帮助程序,可以让你轻松捕获远程命令的 stdout,并将它作为字符串返回
result = capture(“uptime”)
- 已添加一个“get”帮助程序,与“put”命令相对应,它可以让你轻松下载文件,从远程服务器下载到本地主机。它只会从第一个与当前任务标准相符的服务器下载。必须安装 Net::SFTP(gem install net-sftp)才能使用“get”帮助程序。
get “#{current_path}/log/production.log”, “logs/production.log”
- 已经添加了一个系统级配置文件。如果“/etc/capistrano.conf”中存在文件,它将在加载标准配方文件后,在任何用户特定的配置之前立即加载。
所修复的错误
- 以前,在使用网关时,当同时运行多个 capistrano 实例时,cap 有时会遇到挂起问题。该问题已得到修复。
- 标准配方中的权限调整被重构成了一个单独的任务(set_permissions),如果你在一个不允许你设置组可写权限的主机上,你可以覆盖此项任务。
- setup 任务现在使用 umask,以便以正确的权限创建中间目录。
- 确保标准配方先加载,以便 .caprc 和类似文件可以覆盖其定义。
- cold_deploy 现在调用 update 而不是 deploy,避免调用 restart 任务。
- update_code 中的‘touch’命令现在在该命令执行期间将 TZ 设置为 UTC,以便正确设置资源时间戳。
- show_tasks 中的宽度计算中存在一个差了一个的错误,该错误已得到修复。
次要的过时提示
- 由于新的加载顺序(standard、system、user、application),使得
c/-caprc 开关变得没有意义,因此该开关已删除。
感谢 Mark Imbriaco、Neil Wilson、Bojan Mihelac、Joshua Wehner 和 Mike Bailey 为此版本做出的贡献。