SwitchTower 是一个在多台机器上并行执行命令的实用工具。它可以让你(在很多其他功能之外)用一个命令部署分布式应用程序。
当你的应用程序还很年轻时,你可能只将其部署到一台机器上,这台机器同时运行着 Web 服务器、应用程序服务器和数据库。在这种情况下,手动部署的痛苦是可以忍受的。但随着应用程序的增长,你可能会发现自己需要原子性地将应用程序部署到两台 Web 服务器、四台应用程序服务器和两台数据库服务器上。这时 SwitchTower 就派上用场了,它能缓解你的痛苦。
入门
假设你有一个现有的 Rails 应用程序,你想将其部署到一个机器集群上。SwitchTower 旨在让整个过程尽可能地轻松。
gem install switchtower。switchtower --apply-to /path/to/your/app。config/deploy.rb 文件并填写空白处。rake remote_exec ACTION=setup。rake deploy,然后就可以享受美好的时光了。其他功能
除了简单地将你的应用程序移动到各种机器上,SwitchTower 还致力于简化部署的维护任务。假设在检出代码时出现问题——SwitchTower 会检测到这个问题并回滚更改,在所有已部署的机器上。这意味着应用程序在各种机器上出现不同步的可能性大大降低。
SwitchTower 还开箱即用地提供其他功能
SwitchTower 还使得覆盖和扩展标准任务以及编写自己的任务变得非常简单。这些任务使用一种类似于 Rake 的简单语言,允许你自动化许多不同的任务。
更多信息
想了解更多关于 SwitchTower 的信息吗?有一本完整的用户手册,其中包含许多有用的技巧,网址是 http://manuals.rubyonrails.com/read/book/17。