The Rails Myths
loudthinking.com
loudthinking.com
Setting up a tightly version-controlled, centralized deployment for a full Rails app stack is more difficult than doing the same with J2EE, but this is partially due to the immaturity of the platform -- Ruby, and Rails, just haven't been in the mainstream for anywhere near as long as Java has.
And, yes, Passenger made this whole process easier than it was when I did this with Mongrels. It's still not simple and easy.
The first thing every team I've worked on has ever done with Ruby (and Python and Tcl before that) is roll a project-specific Ruby build, so that nobody is working off the polluted system Ruby. It was even worse with Python, which for a couple years was a whole major version back from mainstream Python.
I'm not saying there isn't a real problem here; if you're hosting apps for 3 different teams, you do have to do a little dance to deploy seamlessly for all 3 of them with all their deps.
But most teams are never going to run into this problem, and I don't know of a really elegant solution for it.
Personally, I think Rails is pretty hard to deploy. There are just too many global inter-dependencies that need to be managed.