2011-03-24 24 views
4

私は、Gemcutterを使ってrubygemsにリリースしたいくつかの宝石とgithubに保存されているソースを書いています。宝石をリリースできる宝石サーバーの作成

オープンソースではなく、コミュニティでは使用できない宝石を作成する必要があるという問題がありますが、私のチームのメンバーだけには問題があります。

私はローカルに宝石を保存し、私のGemfileでそれらを標的にすることができることを承知しています、しかし、私は

rake version:bump 
rake release 

または同様の操作を行うことができるようにしたいと思います。それはバージョンをバンプして私の宝石のサーバーにプッシュし、人々がそれの古いバージョンをインストールできるように古い宝石を保ちます。

これはかなり簡単であるようです。私はちょうどそれを行う方法が不足しています

答えて

3

プライベートな宝石をホストすることができるサーバーを持っている場合、これはかなり簡単です。 gems.companyname.comのようなサブドメインをセットアップし、ドメインをホストする仮想ホストをセットアップします。その仮想ホストを任意のWebサイトのようなフォルダに指し、そこから宝石サーバーをセットアップします。

例:

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 

/var/www/gemserverは、ルートディレクトリになります。最後にあなたがする必要があると思い、すべては宝石へのアクセスを得ることができ、あなたのカスタムドメインについて知っているあなたのGemfile

source 'http://rubygems.org' 
source 'http://gems.companyname.com' 

だから、誰にも新しいソースを追加しています。唯一の痛みは、宝石を再構築するたびに、宝石を宝石のフォルダーにアップロードした後でgenerate_indexコマンドを再度実行する必要があることです。

+0

ありがとうございました。しかしそれはあまり自動化されていません。これを自動化する方法はありますか、カスタムレイクタスク/フックなどを書く必要がありますか? – Yule

+0

あなた自身のレーキタスク/フックを書く必要があるでしょう、それはかなり簡単でしょう! '' scp filename-0.0.1.gem [email protected]:/ var/www/gemserver/gems''コマンドを実行してログインしてコマンドを実行すると、ここにたくさんのオプションがあります。 – Garrett

関連する問題