有没有一种方式让我同时部署多个不同项目到不同的服务器上面去呢?


情况是这个样子:
"A"是开发机,
"B"是用来专门放开发项目的服务器,
"C,D,E...等 "是其它人要访问的服务器对外

现在有多个项目我需要部署到多台服务器上面去,现在我的方法是使用"capistrano"

1: 在A新建一个部署项目"deploy"让其来发送指令,使C,D,E..服务器到"B"服务器上下载项目

2: 以前我部署的时候是进到deploy中然后进到对应的项目进行 cap production deploy 来部署

3: 现在我要想用一个项目来专门负责部署类似"deploy"但是我想同时部署多个项目到多台服务器上去.

4: 所以我想问请教一下,是否有那么一个机制"同时部署多项目到多台服务器上"

5:我听说过caphub 但是还没有怎么领会其用法,还有其它的方法吗?

ruby ruby-on-rails
0条评论 | 修改 | 链接

2 个回答


  • yanyaoer yanyaoer 509

    只要能 ssh 操作远程机器就性, 自己改成你要执行的命令

    for i in 1.1.1.1 2.2.2.2 3.3.3.3 4.4.4.4 ; do
        ssh root@$i 'cd /path/to; git pull; supervisor reload'
    done;

    yanyaoer 509

    0条评论 | 修改 | 链接
  • Ajian Ajian 182

    @yanyaoer 使用的方法是最简单的shell实现的 缺点就是整个过程是排队的 不是并发 你可以使用一些并发小工具 如pssh onall 都可以很好的完全并且还有其它的大用途 而且有结果反馈 对于同时操作更多的服务器命令操作也都是很轻松的事。

    1条评论 | 修改 | 链接
    • mr.li

      嗯 .这个建议我得去试试!