7

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

  1. 创建项目目录my_project
  2. 将所需的 Ruby 版本安装到其中。
  3. 安装所需的 gem。
  4. 写一些代码。
  5. 用来fpm包装整个东西。
  6. 将 debian 软件包运送到生产箱并安装。

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

我不小心偶然发现了https://github.com/ot/bpt,它可以用来构建允许完全可重定位的 Ruby 安装的东西,但是该项目已经有两年多没有被触及了,所以我有点犹豫在它之上构建一些东西。

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

4

1 回答 1

1

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

于 2013-02-11T14:18:46.457 回答