想必大家都用过 capistrano 了,部署代码到多个服务器上的神器。 不过使用中有个不太方便的地方是,某些情况下只想部署到其中几台。 有好几种方式可以做到:
config/deploy.rb
或 config/deploy/***.rb
)HOST
命令行环境变量,或者 --host
参数,比如 HOST=example.com cap production deploy
第 1 种不好重用,第 2 种在 capistrano v3.3 以上版本已经失效了。
我把我们项目中用的 task 抽出来做成了一个 gem: capistrano-hostmenu 功能实在是太简单,没有什么好描述的。。
一图顶千言: