[Rails] Let's talk about packaging

Scott Barron scott at elitists.net
Fri Nov 5 14:24:43 GMT 2004


Hello Railers,

I've been thinking about packaging Rails apps again this morning.  I
know there are a few projects out there that are at or approaching a
releasable state and I'm wondering how everyone is going to go about
releasing their software into the wild.  I've also got about 10 Rails
apps at work that I'd like to make easily maintainable.  I've brought
this up once or twice on IRC, but topics there tend to fly by so I
thought I'd post here to get some kind of discussion (and archive
thereof) going.  Here are my thoughts.

RubyGems - This seems like a fairly attractive way to release an
application but I'm running into a couple walls while thinking about it.
I've seen mention that there's an Instiki gem available now, and I can
wrap my head around the process of packaging up a rails app that uses
its own webrick (as I believe Instiki does), that seems like it might be
easy enough (given that some kind soul has provided a place to start
with the Instiki gem).  But what about applications that want to use
Apache?  Are there any thoughts on this?  Could the gem just use the
basic rails application structure and then you'd point Apache down into
there?  What about vendor/ and log/?  I haven't used the rails gem yet,
but I imagine the gem for a rails based app would require the rails gem
and this stuff would be taken care of magically.  I am just digging into
the gems chapter of PickAxe2 and the more I read the more I think that
this may be the way to go.  I'll bang on a couple gemspecs later this
morning.

RPA - I don't think Rails itself has been formally packaged up as an
RPA, and I know nothing at all about RPA, so I don't even know how or if
this is a viable solution.

Instiki Fashion - I was browsing through the Instiki tarball last night
and a "no step 3" set up looks pretty nice.  Though there may have to be
a step 3, or 4, to configure a database, but this doesn't seem as sexily
upgradable as a gem.

Tarball - The way I'm currently doing it now is I start with a fresh
rails tarball and extract my application over top of it and go from
there.  It's pretty simple (for an application author) and brute force,
but not very maintainable and I wouldn't expect a user of my application
to want to do this.  Tarballs that extract files into '.' are the work
of Satan himself and I could not, in good conscience, distribute one to
others.

Well, all of that rabble is my current set of ideas.  I'd love to hear
any other ideas, or if you have any additions or corrections to my
thinking please share them.  I myself am leaning heavily toward using
RubyGems for my open source and work projects both and if I have any
success I'll post it back here.

Thanks for listening
-Scott


More information about the Rails mailing list