支持多个JRuby版本的JRuby部署选项 [英] JRuby deployment options that support multiple versions of JRuby

查看:126
本文介绍了支持多个JRuby版本的JRuby部署选项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找一种在单个服务器上部署多个JRuby应用程序的方法,这些应用程序处于不同阶段,因此使用不同版本的JRuby,从长远来看,尝试同步所有JRuby应用程序将非常复杂.应用程序与所有应用程序服务器一起使用,因此我正在寻找类似于Javaland中的Phusion Passenger 4的东西.

I'm looking for a way to deploy multiple JRuby apps on a single server, the apps are in different stages and hence use different versions of JRuby, in the long term it would be pretty complicated to try and sync all of the applications with all of the application servers, so I'm looking something akin to Phusion Passenger 4 in the Javaland.

很明显,Passenger允许这样的事情,但是没有可用的文档说明这种设置是如何工作的. Torquebox在他们的文档中没有提到这种用例.

Apparently Passenger allows something like this, but there's no documentation available how such a setup should work. Torquebox doesn't mention this use case in their docs.

奖励积分:

  1. 允许git pull部署的解决方案
  2. rvm友好的解决方案
  3. 不基于Tomcat的解决方案
  4. 易于聚类的解决方案
  5. 自行处理守护进程,路由,资源管理和监视的解决方案
  6. 成熟且得到积极支持的解决方案
  1. solutions that allow git pull deployment
  2. solutions that are rvm friendly
  3. solutions that are not Tomcat based
  4. solutions that are clustering friendly
  5. solutions that handle daemonization, routing, resource management and monitoring on their own
  6. solutions that are mature and actively supported

到目前为止,我看过的所有内容在某些方面都失败了,torquebox似乎不支持多个jruby版本,特立尼达是tomcat,puma需要一些手动操作(过程监视,反向代理,... )等

So far everything I've looked at failed on some of the points, torquebox doesn't seem to support multiple jruby versions, trinidad is tomcat, puma requires some of hand-holding (process monitoring, reverse proxy, ....) etc

推荐答案

可能最好的选择是使用 https://github.com/jruby/warbler

probably your best choice would be to do it the "Java-way" using https://github.com/jruby/warbler

您将得到一个.war文件,该文件将JRuby的jar文件打包在存档中,因此每个应用程序都将拥有自己的JRuby版本.当然,这需要您设置Java应用程序服务器(例如Tomcat),部署过程通常意味着将打包的.war复制到服务器的部署文件夹中.

you'll end up with a .war that packs the JRuby's jars in the archive thus each app will have it's own version of JRuby. this of course requires you to setup a Java application server (such as Tomcat), the deployment process would usually mean copying the packaged .war into the server's deployment folder.

请注意,这可能会需要大量内存,因为JRuby使用的所有库都不会共享(同样,对于某些服务器,还需要确保在特定的部署配置中,类加载器确实首先查看了战争的罐子.选项)

be aware that this will likely require a lot of memory since none of the libraries JRuby uses will be shared (also with some servers you need to make sure the class-loader does look at the war's jars first during a specific deployment configuration option)

这篇关于支持多个JRuby版本的JRuby部署选项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆