Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Streamlined Ruby code deployments

Here's my imagined development and deployment process:

  1. Create project directory my_project.
  2. Install the required Ruby version into it.
  3. Install the required gems.
  4. Write some code.
  5. Use fpm to package the whole thing.
  6. Ship the debian package to a production box and install.

I use RVM and Bundler to address some of the pain points but RVM doesn't care about creating relocatable Ruby installations so you can't move ~/.rvm/rubies into the project directory and expect everything to just work out. You have to rewrite all sorts of hard-coded #! lines and in some instances you have to move .so files into the lib directory. I hacked together a set of scripts by scouring the internets that, together, accomplish what I want but the whole thing feels like a huge hack.

I accidentally stumbled on https://github.com/ot/bpt which could be used to build something that would allow for completely relocatable Ruby installations but that project hasn't been touched in more than two years so I'm a little hesitant to build something on top of it.

Is there a more elegant solution to this problem that I'm not seeing? How do people isolate and deploy Ruby projects? I feel like this should be a solved problem.

like image 304
David K. Avatar asked Feb 06 '13 05:02

David K.


1 Answers

The closest thing to what you're describing is Tokaido, and AFAIK it's still a work in progress. The other project that comes to mind is Vagrant, although it's mostly for development.

like image 84
sockmonk Avatar answered Sep 24 '22 01:09

sockmonk