简化的Ruby代码部署

dav*_*k01 7 ruby deployment isolation-frameworks

这是我想象的开发和部署过程:

  1. 创建项目目录my_project.
  2. 将所需的Ruby版本安装到其中.
  3. 安装所需的宝石.
  4. 写一些代码.
  5. 使用fpm打包整个事情.
  6. 将debian软件包发送到生产箱并安装.

我使用RVM和Bundler来解决一些痛点,但RVM并不关心创建可重定位的Ruby安装,因此您无法~/.rvm/rubies进入项目目录并期望一切都能解决.您必须重写各种硬编码#!行,在某些情况下,您必须将.so文件移动到lib目录中.我通过搜索互联网一起破解了一组脚本,这些互联网一起完成了我想要的东西,但整个事情感觉就像一个巨大的黑客.

我不小心偶然发现了https://github.com/ot/bpt,它可以用于构建可以完全重定位的Ruby安装的东西但是这个项目在两年多的时间里没有被触及所以我有点犹豫在它上面构建一些东西.

我没有看到这个问题更优雅的解决方案吗?人们如何隔离和部署Ruby项目?我觉得这应该是一个解决的问题.

soc*_*onk 1

与您所描述的最接近的是Tokaido,据我所知,它仍在进行中。我想到的另一个项目是Vagrant,尽管它主要用于开发。