トップ «前の日記(2010-01-21) 最新 次の日記(2010-01-24)» 編集

2010-01-22 [長年日記]

_ イントラgem server運用開始

2009.10.29

09:14:00 >wtnabe< gemcutter サーバをイントラに立てられると便利だろうな

2009.12.03

21:14:52 >wtnabe< イントラに gemcutter サーバがあると便利だよね

酒を飲んだとかでなく、平気で同じことをくり返し言うようになってきている。まいりましたな。

それはともかく、gem server が簡単すぎてビビる件 を書いてから知らん間にずいぶん時間が経ってしまったが、やっと活用し始めた。

2010.01.22

11:37:34 >wtnabe< イントラに gem push したいしたいと思ってたけど、とり
あえず Rakefile に scp する task 足した。permission を考えたくないから
DAV 経由にした方がいいかなぁ。

どうしたかというと、cutagem で作った Rakefile に直接こんな task を書き足してお茶を濁した。我ながらひどい。

desc "push gem to intra gem server"
task :push_gem do
  name = "#{NAME}-#{VERS}.gem"
  sh %{scp name HOST:/PATH/TO/GEM_SERVER/gems}
end

こんなん。サーバ側では

/etc/cron.hourly/generate_gem_index
#! /bin/sh

GEM_ROOT=/PATH/TO/GEM_SERVER

gem generate_index -d $GEM_ROOT
chown -R Webサーバにしたんだっけ $GEM_ROOT

こんな感じで回してる。

scp で投げるのやめて DAV で投げられるようにすれば権限とか owner とか面倒なこと考える必要なくなるような気もするけど、あんま考えてない。どうせしばらく自分しか push しないだろうし。

あとはイントラで他に動いてるホストの

/etc/gemrc

に、ひっそり

:sources:
  - http://HOST/PATH

で、gem を探すサーバを書き足してやる。

ちなみにイントラのgemはライブラリではなくshlauncherで固めたツール群の配信を想定している。

Tags: Ruby RubyGems