简化的Ruby代码部署

时间:2013-02-06 05:29:02

标签: ruby deployment isolation-frameworks

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

  1. 创建项目目录my_project
  2. 将所需的Ruby版本安装到其中。
  3. 安装所需的宝石。
  4. 写一些代码。
  5. 使用fpm打包整件事。
  6. 将debian软件包发送到生产箱并安装。
  7. 我使用RVM和Bundler解决了一些难点,但RVM并不关心创建可重定位的Ruby安装,因此您无法将~/.rvm/rubies移动到项目目录中,并期望一切都能解决。您必须重写各种硬编码的#!行,在某些情况下,您必须将.so个文件移动到lib目录中。我通过搜索互联网来共同编写一组脚本,这些互联网一起完成了我想要的东西,但整个事情感觉就像是一个巨大的黑客。

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

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

1 个答案:

答案 0 :(得分:1)

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