如何将我的ruby gem发布到我自己的存储库?

时间:2013-04-11 05:49:02

标签: ruby gem rake rake-task

我写了一个ruby gem,我希望有一个rake任务,可以将gem发布到我的自己的GemInABox存储库http://my-gem-repo.com

实现这一目标的最简单方法是什么?

另外,我想阻止默认发布到Rubygems.org

1 个答案:

答案 0 :(得分:5)

有关托管自己宝石的信息,请访问http://guides.rubygems.org/run-your-own-gem-server/

根据该网站和https://github.com/cwninja/geminabox

上的自述文件设置服务器

释放你的宝石:

gem build my_ruby_gem.gemspec
#push all versions to the gem server
gem inabox 

第一次运行gem inabox时,您将配置目标。

对于rake任务,你可以将这个Rakefile放在你的gem源中:

#!/usr/bin/env rake
desc "build the gem"
task :build do
  system("gem build *.gemspec")
end

desc "push the gem to the gem inabox server"
task :release do
  system("gem inabox")
end

desc "build and release the gem"
task :build_and_release => [:build,:release]

系统调用肯定是黑客攻击,但它们是使其工作的简单方法。需要更好的rake任务: https://github.com/cwninja/geminabox/issues/59