小编Spr*_*dzy的帖子

RPM 打包 ruby​​ 项目

我想将从 git 获取的 ruby​​ 程序打包到 RPM 包中。我有一个构建服务器和一个生产服务器(相同的操作系统/相同的架构)。

与大多数 ruby​​ 项目一样,我的项目确实有 gem 依赖项。

我找到了两种做我想做的事情的方法,我想知道哪一种是最好的 - 大多数 UNIX/Linux 哲学 - 操作方面

  • 在生产服务器上减少捆绑

第一个(对我来说看起来更好)是做一个bundle install --standalone --deployment --path %{buildroot}/usr/lib/rubygems/1.8/gems/ --binstubs %{buildroot}/usr/lib/rubygems/1.8.bin. 这会将 gem 安装在将部署 .rpm 的服务器上的 gem 系统路径上,无需安装捆绑包。我不确定的是,当我使用相同的 gem 安装其他 rpm 时会发生什么?当我删除一个带有在两个包之间共享的 gem 的包时,会发生什么?

  • 在生产服务器上捆绑

bundle install --deployment命令将直接在项目本身中执行。这样就可以在目录中找到所有内容vendor/。在网上我可以看到一些关于供应商一切政策的帖子,它似乎不正确的操作明智,因为很多宝石将被重复。由于我没有红宝石背景,我不知道它的确切优点/缺点

如果有人已经做了类似的事情,你会采取哪一种方式?从运营角度来看,什么才是最好的解决方案?

fedora rpm ruby packaging rubygems

5
推荐指数
1
解决办法
1009
查看次数

标签 统计

fedora ×1

packaging ×1

rpm ×1

ruby ×1

rubygems ×1