没有捆绑器的无痛私人宝石?

时间:2011-12-19 19:17:36

标签: ruby rubygems github

我想在我们公司内部分发一个依赖于尚未发布的gems的sysadmin实用程序(例如,fog的github master)。我们已经拥有一个私人GitHub组织帐户,我们都有ssh密钥。

但是:虽然Bundler可以用简单的

安装宝石
gem "sysadmin", :git => "git://github.com/ourorg/sysadmin.git"`

我无法用裸RubyGems找到这样做。人们想要在自己的机器上安装其他宝石,所以我不想强迫每个人都使用Bundler作为他们的主目录。

我能想到一些解决方案,没有理想的选择:

  • 创建一个具有Gemfile的“sysadmin”项目,让每个人都克隆它,然后将它们cd到该项目目录中以运行该实用程序。
  • 每次更改时,让他们手动下载并在他们的系统上构建gem。
  • 使用第三方gem-hosting repo,依靠安全性来防止外人发现它。 ICK。
  • 设置一个安全的仅限内部服务器以运行gem server等。我们目前没有一个(一切都在云端),我想避免为此设置一个。

一定有更好的方法..它是什么?有没有办法在github存储库中设置旧式gem源?

2 个答案:

答案 0 :(得分:2)

  

使用第三方宝石托管仓库,依靠安全隐患来防止外人>找到它。 ICK。

我想建议Gemfury,但听起来你对第三方宝石托管解决方案不感兴趣。你能告诉我更多关于你的安全问题吗?

免责声明:我参与Gemfury

答案 1 :(得分:-1)

  

我无法用裸RubyGems

找到这样做

the documentation中介绍了这一点。使用Gemfile中的:path选项:

gem "nokogiri", :path => "~/sw/gems/nokogiri"

并且没有理由这会干扰他们的主目录或他们自己的宝石。无论如何,他们都不想将您的实用程序放在他们的主目录中。让他们把文件放在他们想要的任何目录中,然后告诉他们将它添加到他们的$PATH或写一个Rake任务,自动创建例如符号链接。 /usr/bin为他们。