トップ «前の日記(2010-07-17) 最新 次の日記(2010-07-29)» 編集

Route 477



2010-07-20

[ruby] geminaboxで「俺専用gem配布サーバ」を立てる

gem配布サーバといえばrubygems.orgなわけだけど、クローズドな環境でプライベートなRubyライブラリをgemで管理したいとかいうとき には、自前でgemサーバを立てると便利かも知れない。

インストール

$ gem install geminabox

サーバの起動

以下のようなconfig.ruを書いて「rackup config.ru -p 9292」とかするとgemサーバが起動する。

require "rubygems"
require "geminabox"

Geminabox.data = "/var/geminabox-data" # …or wherever
run Geminabox

gemの追加

geminaboxはWeb UIを持ってるので、ブラウザでlocalhost:9292とかを開くと管理画面が表示される。ここからgemファイルをアップロードすることができる。

または、

$ gem inabox foo-0.1.2.gem

としてもいい (初回は「Host:」と聞かれるので、「http://localhost:9292/」などと入力する)。

gemのインストール

$ gem sources -a http://localhost:9292/

のようにして、自前のgemサーバを追加する(この情報は~/.gemrcに保存されている)。

感想

Sinatraはえらい。

個人的には、RubyStationのテストをオフラインでできるようにするのに使う予定。