Deploying Ruby with large customer base


#1

Hi all,

I am working on a web project where we are building a web Ruby on Rails
(ROR) application where the webserver, database and application files
are deployed per desktop machine. It is not centralized where all users
hit a single ROR based machine. It is a cross platform web application.
I should add this is next generation application where the end users
(number of machines it could be installed on) can and have been in the
1000s previously.

I have used the rake freeze_gems command to lock down my versions of the
gems and created a deployable ROR setup.

Is there a way to deploy ruby at a fixed version and not require a
formal setup program? Think transparant to the end user…

The point being my install consists of my ROR application directory tree
with rails in the vendor directory and ruby, of course.

I realize using gems make install easy, however this could become a
support nightmare. The application will be sold as a boxed product!!!

Any information is appreciated,
Thanks,
Rick


#2

On 1/10/07, Rick F. removed_email_address@domain.invalid wrote:

I have used the rake freeze_gems command to lock down my versions of the

Any information is appreciated,
Thanks,
Rick

On windows: only thing you need to deploy ruby is to copy its files
somewhere, set PATH to that place/bin and possibly modify some .bat
files to have the proper paths in them (but it may depend on libs you
are using).


#3

Rick F. wrote:

I have used the rake freeze_gems command to lock down my versions of the

Any information is appreciated,
Thanks,
Rick

Maybe look at RUBYSCRIPT2EXE

http://www.erikveen.dds.nl/rubyscript2exe/index.html
http://www.erikveen.dds.nl/distributingrubyapplications/rails.html


#4

Is there a way to deploy ruby at a fixed version and not
require a formal setup program?

AllInOneRuby [1] creates allinoneruby.exe, which contains
ruby.exe, its DLL’s and the standard library. No site-lib
files, no gems.

Another approach for distributing Rails applications:

Freeze your Rails application, copy the dependencies and gems
to lib/ in your Rails applications and use AllInOneRuby to
build a big ruby.exe. ZIP it and ship it…

For example (not tested…):

$ rails -f your_app
$ cd your_app/

$ cp -af /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.1.0/lib/*
lib/

$ wget
http://www.erikveen.dds.nl/allinoneruby/download/allinoneruby.rb
$ ruby allinoneruby.rb

$ ./allinoneruby_linux script/server

gegroet,
Erik V. - http://www.erikveen.dds.nl/

[1] http://www.erikveen.dds.nl/allinoneruby/index.html