rubygems ではなくrake release
、自分の gem サーバー ( box インスタンス内の gem ) に gem を送信するように bundler を設定する方法はありますか?
理想的には、この構成は、私の git リポジトリから省略できるものです。
rubygems ではなくrake release
、自分の gem サーバー ( box インスタンス内の gem ) に gem を送信するように bundler を設定する方法はありますか?
理想的には、この構成は、私の git リポジトリから省略できるものです。
これは、geminabox の http ポスト リクエストを模倣し、rake release:inabox でバンドラーの rake release を上書きする依存関係のない gem を作成しました。
Gemfileに追加'bundler_geminabox'
します。
group :development do
gem 'bundler_geminabox'
end
次に、rakefile で、以下を要求する代わりに'bundler/gem_tasks'
:
require 'bundler_geminabox/gem_tasks'
rakefile にタスクを追加する必要はありません。、、およびが自動的に取得されrake build
、最後に にリストされているサーバーにアップロードされます。それ以外の場合、動作は が提供する同等のタスクと同じです。rake install
rake release
~/.gem/geminabox
bundler/gem_tasks
Github の Gem: https://github.com/joshkrueger/bundler_geminabox
概念は同じですが、gem を rubygems にアップロードするタスクを変更することができました。
Rake::Task['release:rubygem_push'].clear
namespace :release do
task :rubygem_push do
version = ModuleName::VERSION
name = 'module_name'
cmd = "gem nexus pkg/#{name}-#{version}.gem"
puts `#{cmd} 2>&1`
end
end