Yul*_*ule 5 version-control rubygems ruby-on-rails
我写了一些我已经使用 Gemcutter 和存储在 github 上的源代码发布到 rubygems 的 gem。
我有一个问题,我需要创建一个不能开源的 gem,它也不能提供给社区,而只能提供给我的团队成员。
我知道我可以在本地存储宝石并将它们定位到我的 Gemfile 中,但是我希望能够做到
rake version:bump
rake release
Run Code Online (Sandbox Code Playgroud)
或类似。这会影响版本并将其推送到我的 gem 服务器,并且仍然保留旧的 gem,以便人们可以安装它的旧版本。
看起来它应该相当简单。我只是想念怎么做
如果您有一台可以托管您的私人宝石的服务器,那么这相当简单。设置一个子域,例如gems.companyname.com
设置一个虚拟主机来托管您的域。您可以将该虚拟主机指向一个文件夹,就像您指向任何网站一样,然后从那里设置 gem 服务器。
例子:
mkdir /var/www/gemserver
mkdir /var/www/gemserver/gems
cp private-gem-0.1.0.gem /var/www/gemserver/gems
cd /var/www/gemserver
gem generate_index
Run Code Online (Sandbox Code Playgroud)
/var/www/gemserver
将是根目录。最后,您需要做的就是向您的Gemfile
source 'http://rubygems.org'
source 'http://gems.companyname.com'
Run Code Online (Sandbox Code Playgroud)
因此,任何了解您的自定义域的人都可以访问这些 gem。唯一的痛苦是每次重建 gem 时,都需要generate_index
在将 gem 上传到 gems 文件夹后再次运行该命令。