如何使用ruby脚本启动多个rails应用服务器

时间:2013-04-02 18:29:28

标签: ruby shell scripting rvm foreman

我正在编写一个ruby脚本来启动多个rails服务器,但我遇到了一些问题:

  1. 当我以编程方式cd进入不同的项目时,不会触发各自的.rvmrc文件。我的项目都使用不同版本的ruby并拥有独特的gemsets,所以我需要我的脚本来识别它所处的环境才能使一切正常工作。我尝试以编程方式更改gemsets,但是从rvm收到此错误:

    RVM is not a function, selecting rubies with 'rvm use ...' will not work.

  2. 我正在使用工头启动每个应用程序,这非常适合将多个启动命令提取到一个简单的foreman start -p $PORT,但我也希望每个应用程序的日志都显示在他们的自己的终端窗口,甚至更好,他们自己的选项卡。我见过其他人通过AppleScript实现了这样的事情,但还有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

谢谢大家的帮助。我最终使用consular,它以一种尊重不同.rvmrc文件的方式处理脚本。有关我的具体解决方案的详情,请参阅this post

答案 1 :(得分:0)

它应该很简单:

rvm . do foreman start -p $PORT