我在Gemfury上托管了一个私有(private)gem,并希望覆盖rake release任务以推送到我的Gemfury私有(private)URL,而不是Rubygems。

我想保留Git标签的创建。

我应该从哪里开始的任何想法?

这是我的Rakefile的样子:

require 'bundler/gem_tasks'
require 'rspec/core/rake_task'

RSpec::Core::RakeTask.new(:spec)

task default: :spec
task test:    :spec

最佳答案

居然找到了答案:

Rakefile

require 'bundler/gem_tasks'
require 'rubygems/builder'
require 'gemfury'
require 'gemfury/command'

# Override rubygem_push to push to gemfury instead when doing `rake release`
module Bundler
  class GemHelper
    def rubygem_push(path)
      ::Gemfury::Command::App.start(['push', path])
    end
  end
end

现在,当做:
rake release

它创建git标签并将其推送到我的Gemfury私有(private)gem存储库。

您需要使用自己的 key 在~/.gem/gemfury中创建一个文件:
---
:gemfury_api_key: 1H...

关于ruby-on-rails - 覆盖耙释放任务以使用Gemfury,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18229805/

10-10 16:51