最新 追記

これ日記なん?


2009-04-12(Sun) [長年日記] この日を編集

_ Hudsonいいですね!

trac lightning についてたりするみたいだし、CIにもそろそろ手をださないといけなかったりして、hudsonを試してみている。いやー、こりゃ親切設計ですよ。中身はまだわかってないので(おい)、インストールとかだけをみても:

  • java -jar hudson.war だけで起動し、8080(http), 8009(ajp13)で待つ。
    • しかもWindows, linux でも同じ挙動
  • Windowsにいたっては、JREと.NetFramework2.0が入っていれば、既存のHudssonインスタンスからクリック2-3発でサービスとしてインストール可能(!)
  • windowsのスレーブもJNLP経由で起動可能
  • windowsのスレーブのサービス化もスレーブのメニューから選べば終わり

他にデータベースもなにもいらないし、JREとWindowsだったら追加で.NetFramework2.0があればさらに楽になれるし。

Hudson使って、異種OS混合の分散システムの管理とかができたら素敵かも。追加インストールとか、各ノードの状況レポートとか...。

_ HudsonをWindowsサービスにしようとしたら

こけた。原因をさぐると、

  • エラーログから:ポート8009が他で使われている
  • netstat -ano | find "8009" でプロセスを特定
  • tomcat6が動いてる!?
    • 入れた覚えないのに...
  • VMWare Server Web Access(vmware server 2.0.1)がtomcatだった
    • "C:\Program Files\VMware\VMware Server\tomcat\bin\Tomcat6.exe" //RS//VMwareServerWebAccess

仮想マシンにいれましたとさ。

_ さくらインターネットで git

capistranoでのデプロイを考えているので、gitを仕込む。

% cd distfiles
% wget http://kernel.org/pub/software/scm/git/git-1.6.2.tar.gz
% cd ..
% tar -zxvf distfiles/git-1.6.2.tar.gz
% cd git-1.6.2
% configure --prefix=$HOME/local
% gmake 
% gmake install

1.6.2だと、tarの問題もなくてあっさりとはいった。以下のサイトを参考にしました。感謝。

_ gistから貼り付け

capistrano, passenger, git あたりの組み合わせをためしているので、gistから参照。こいつはtracksのconfig/deploy.rbをいじったもの。

  • デプロイ先は"rails"ユーザで動かす。
  • gitはデプロイ先のrailsユーザからssh経由で手元のgitに取りに来る
    • forwardagent yes で。

set :branch, "v1.7" は、1.7_branchをインストールしたかった+手元修正&手元コミットがしたかったので、git branch -b origin/v1.7_branch v1.7 したものを使ったため。

(追記) git checkout -b v1.7 origin/v1.7_branch が正解です。自分でやってもーた orz

config以下については、別途uploadタスクでアップするようにしたのだけど、gitだし、コミットしておいて丸ごとコピーしてもよかったかも?


2009-04-18(Sat) [長年日記] この日を編集

_ お掃除グッズ

サイバークリーンをキーボード掃除につかってみた。 基本埃しかとってくれないみたい。除菌はしているそうだが...。

デスクトップ用の普通のキーボードみたいに、キートップの高さがある程度あるものはいい感じ。うえからぎゅうぎゅう押してはがせばいいので。ノートみたいにキートップが薄いものはあんまりまわりこんでくれない感じ。

"ハイテッククリーニングコンパウンド"らしいので、エアダスターであらかたとったあと、それでも取れないものに使うといいかも。

会社のキーボードもこれでいちどやってみようかしら。


2009-04-19(Sun) [長年日記] この日を編集

_ hanna --gems が死んでしまう

1.8.6ではだめなのかしら。ubuntu hardy + ruby 1.8.6 野良ビルド

kog@ubu1:~/src$ ruby18 -v
ruby 1.8.6 (2009-03-31 patchlevel 368) [i686-linux]
kog@ubu1:~/src$ sudo hanna --gems
Hanna is installing documentation for 77 gems ...
Installing RDoc documentation for data_objects-0.9.11...
Installing RDoc documentation for activesupport-2.3.2...
Installing RDoc documentation for gettext-2.0.1...
Installing RDoc documentation for rspec-1.2.4...
Could not find main page README.rdoc
Installing RDoc documentation for mongrel-1.1.5...
Installing RDoc documentation for sqlite3-ruby-1.2.4...
Installing RDoc documentation for ruby-openid-2.1.4...
Installing RDoc documentation for merb-haml-1.0.11...
Installing RDoc documentation for activeresource-2.3.2...
Installing RDoc documentation for merb-assets-1.0.11...
Installing RDoc documentation for highline-1.5.0...
Installing RDoc documentation for thor-0.9.9...
Installing RDoc documentation for actionmailer-2.3.2...
Installing RDoc documentation for daemons-1.0.10...
Installing RDoc documentation for capistrano-ext-1.2.1...
Installing RDoc documentation for randexp-0.1.4...
Installing RDoc documentation for rcodetools-0.8.3.0...
Installing RDoc documentation for merb-auth-core-1.0.11...
Installing RDoc documentation for actionpack-2.3.2...
*** glibc detected *** /usr/local/bin/ruby18: munmap_chunk(): invalid pointer: 0x094d01c0 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6(cfree+0x1bb)[0xb7dd761b]
/usr/local/bin/ruby18[0x807253e]
/usr/local/bin/ruby18(ruby_xmalloc+0x85)[0x8072ab5]
/usr/local/bin/ruby18[0x80cc433]
/usr/local/bin/ruby18(rb_yield_values+0x3f)[0x805c2ff]
/usr/local/bin/ruby18[0x80d90f8]
/usr/local/bin/ruby18[0x805bd2e]
/usr/local/bin/ruby18(rb_yield+0x21)[0x805c371]
/usr/local/bin/ruby18(rb_ary_each+0x25)[0x80cc8a5]
/usr/local/bin/ruby18[0x8060883]
/usr/local/bin/ruby18[0x8060b31]
/usr/local/bin/ruby18[0x8061067]
/usr/local/bin/ruby18(rb_funcall+0x20)[0x80611b0]
/usr/local/bin/ruby18(rb_each+0x2a)[0x80d933a]
/usr/local/bin/ruby18(rb_iterate+0x239)[0x8059099]
/usr/local/bin/ruby18[0x80d95d9]
/usr/local/bin/ruby18[0x80573d4]
/usr/local/bin/ruby18[0x8060883]
/usr/local/bin/ruby18[0x8060b31]
/usr/local/bin/ruby18[0x805c795]
/usr/local/bin/ruby18[0x805f860]
/usr/local/bin/ruby18[0x80607bf]
/usr/local/bin/ruby18[0x8060b31]
/usr/local/bin/ruby18[0x805c8b5]
/usr/local/bin/ruby18[0x805ecb1]
/usr/local/bin/ruby18[0x805c6a4]
/usr/local/bin/ruby18[0x805d703]
/usr/local/bin/ruby18[0x805bae2]
/usr/local/bin/ruby18(rb_yield_values+0x7f)[0x805c33f]
/usr/local/bin/ruby18[0x80d90f8]
/usr/local/bin/ruby18[0x805bd2e]
/usr/local/bin/ruby18(rb_yield+0x21)[0x805c371]
/usr/local/bin/ruby18(rb_ary_each+0x25)[0x80cc8a5]
/usr/local/bin/ruby18[0x8060883]
/usr/local/bin/ruby18[0x8060b31]
/usr/local/bin/ruby18[0x8061067]
/usr/local/bin/ruby18(rb_funcall+0x20)[0x80611b0]
/usr/local/bin/ruby18(rb_each+0x2a)[0x80d933a]
/usr/local/bin/ruby18(rb_iterate+0x239)[0x8059099]
/usr/local/bin/ruby18[0x80d95d9]
/usr/local/bin/ruby18[0x80573d4]
/usr/local/bin/ruby18[0x8060883]
/usr/local/bin/ruby18[0x8060b31]
/usr/local/bin/ruby18[0x805c795]
/usr/local/bin/ruby18[0x805f860]
/usr/local/bin/ruby18[0x80607bf]
/usr/local/bin/ruby18[0x8060b31]
/usr/local/bin/ruby18[0x805c8b5]
/usr/local/bin/ruby18[0x805d965]
/usr/local/bin/ruby18[0x806a9b6]
/usr/local/bin/ruby18[0x806adbb]
/usr/local/bin/ruby18[0x80573d4]
/usr/local/bin/ruby18[0x8060883]
/usr/local/bin/ruby18[0x8060b31]
/usr/local/bin/ruby18[0x805c8b5]
/usr/local/bin/ruby18[0x80607bf]
/usr/local/bin/ruby18[0x8060b31]
/usr/local/bin/ruby18[0x805c795]
/usr/local/bin/ruby18[0x805f860]
/usr/local/bin/ruby18[0x805bae2]
/usr/local/bin/ruby18[0x805cb42]
/usr/local/bin/ruby18[0x805f465]
/usr/local/bin/ruby18[0x80607bf]
======= Memory map: ========
08048000-080f6000 r-xp 00000000 fe:00 109760     /usr/local/bin/ruby18
080f6000-080f7000 rw-p 000ae000 fe:00 109760     /usr/local/bin/ruby18
080f7000-0df6e000 rw-p 080f7000 00:00 0          [heap]
b62cc000-b62d6000 r-xp 00000000 fe:00 344187     /lib/libgcc_s.so.1
b62d6000-b62d7000 rw-p 0000a000 fe:00 344187     /lib/libgcc_s.so.1
b62df000-b78a5000 rw-p b62df000 00:00 0
b78a5000-b78a9000 r-xp 00000000 fe:00 214323     /usr/local/lib/ruby/1.8/i686-linux/strscan.so
b78a9000-b78aa000 rw-p 00003000 fe:00 214323     /usr/local/lib/ruby/1.8/i686-linux/strscan.so
b78aa000-b7bc8000 rw-p b78aa000 00:00 0
b7bc8000-b7bd1000 r-xp 00000000 fe:00 344097     /lib/tls/i686/cmov/libnss_files-2.7.so
b7bd1000-b7bd3000 rw-p 00008000 fe:00 344097     /lib/tls/i686/cmov/libnss_files-2.7.so
b7bd3000-b7bdb000 r-xp 00000000 fe:00 344099     /lib/tls/i686/cmov/libnss_nis-2.7.so
b7bdb000-b7bdd000 rw-p 00007000 fe:00 344099     /lib/tls/i686/cmov/libnss_nis-2.7.so
b7bdd000-b7bf1000 r-xp 00000000 fe:00 344094     /lib/tls/i686/cmov/libnsl-2.7.so
b7bf1000-b7bf3000 rw-p 00013000 fe:00 344094     /lib/tls/i686/cmov/libnsl-2.7.so
b7bf3000-b7bf5000 rw-p b7bf3000 00:00 0
b7bf5000-b7bfc000 r-xp 00000000 fe:00 344095     /lib/tls/i686/cmov/libnss_compat-2.7.so
b7bfc000-b7bfe000 rw-p 00006000 fe:00 344095     /lib/tls/i686/cmov/libnss_compat-2.7.so
b7c06000-b7ca5000 rw-p b7c06000 00:00 0
b7ca5000-b7cbf000 r-xp 00000000 fe:00 340090     /usr/local/lib/ruby/1.8/i686-linux/syck.so
b7cbf000-b7cc0000 rw-p 0001a000 fe:00 340090     /usr/local/lib/ruby/1.8/i686-linux/syck.so
b7cc0000-b7cc4000 r-xp 00000000 fe:00 340098     /usr/local/lib/ruby/1.8/i686-linux/stringio.so
b7cc4000-b7cc5000 rw-p 00003000 fe:00 340098     /usr/local/lib/ruby/1.8/i686-linux/stringio.so
b7cc5000-b7d50000 rw-p b7cc5000 00:00 0
b7d50000-b7d64000 r-xp 00000000 fe:00 344102     /lib/tls/i686/cmov/libpthread-2.7.so
b7d64000-b7d66000 rw-p 00013000 fe:00 344102     /lib/tls/i686/cmov/libpthread-2.7.so
b7d66000-b7d68000 rw-p b7d66000 00:00 0
b7d68000-b7eb1000 r-xp 00000000 fe:00 344088     /lib/tls/i686/cmov/libc-2.7.so
b7eb1000-b7eb2000 r--p 00149000 fe:00 344088     /lib/tls/i686/cmov/libc-2.7.so
b7eb2000-b7eb4000 rw-p 0014a000 fe:00 344088     /lib/tls/i686/cmov/libc-2.7.so
b7eb4000-b7eb7000 rw-p b7eb4000 00:00 0
b7eb7000-b7eda000 r-xp 00000000 fe:00 344092     /lib/tls/i686/cmov/libm-2.7.so
b7eda000-b7edc000 rw-p 00023000 fe:00 344092     /lib/tls/i686/cmov/libm-2.7.so
b7edc000-b7ee5000 r-xp 00000000 fe:00 344090     /lib/tls/i686/cmov/libcrypt-2.7.so
b7ee5000-b7ee7000 rw-p 00008000 fe:00 344090     /lib/tls/i686/cmov/libcrypt-2.7.so
b7ee7000-b7f0f000 rw-p b7ee7000 00:00 0
b7f0f000-b7f11000 r-xp 00000000 fe:00 344091     /lib/tls/i686/cmov/libdl-2.7.so
b7f11000-b7f13000 rw-p 00001000 fe:00 344091     /lib/tls/i686/cmov/libdl-2.7.so
b7f13000-b7f1a000 r-xp 00000000 fe:00 344104     /lib/tls/i686/cmov/librt-2.7.so
b7f1a000-b7f1c000 rw-p 00006000 fe:00 344104     /lib/tls/i686/cmov/librt-2.7.so
b7f1c000-b7f1d000 rw-p b7f1c000 00:00 0
b7f1d000-b7f1f000 r-xp 00000000 fe:00 340087     /usr/local/lib/ruby/1.8/i686-linux/etc.so
b7f1f000-b7f20000 rw-p 00001000 fe:00 340087     /usr/local/lib/ruby/1.8/i686-linux/etc.so
b7f20000-b7f23000 r-xp 00000000 fe:00 340101     /usr/local/lib/ruby/1.8/i686-linux/thread.so
b7f23000-b7f24000 rw-p 00002000 fe:00 340101     /usr/local/lib/ruby/1.8/i686-linux/thread.so
b7f24000-b7f26000 rw-p b7f24000 00:00 0
b7f26000-b7f27000 r-xp b7f26000 00:00 0          [vdso]
b7f27000-b7f41000 r-xp 00000000 fe:00 344253     /lib/ld-2.7.so
b7f41000-b7f43000 rw-p 00019000 fe:00 344253     /lib/ld-2.7.so
bffc9000-bffdf000 rw-p bffea000 00:00 0          [stack]
Aborted

(追記)どうも、gem install rdoc -v 2.3 が駄目な模様。gem18 uninstall rdoc

(追記2)いや、ruby18 script/server とかもおかしい感じ。壊れかけ?

_ 宍道湖

もういちどセットアップしてみたら、動かない動かないorz

  • gem install diff-lcs will_paginate
  • gem install rails -v=2.0.2
  • can't activate gettext ( runtime), already activated gettext-2.0.1 とか出る。
    • cd vendor ; gem unpack gettext -v=1.93
    • cd gettext-1.93.0/lib; cp -pr * ../../
  • cp config/development_sample.rb config/development.rb
  • vi app/model/issue.rb
    • svn/client をとりあえずコメントアウトする

redmineて、git対応してるはずなんだけど、各ブランチて見えないみたい?

_ subversion その場import

svn mkdir http://...../hoge
svn co http://..../hoge .

これで、カレントディレクトリが hogeのチェックアウトしたものに変わるそうな。カレントディレクトリと、リポジトリの両方に同名のフォルダ・ファイルがあったら、どうなるんかなあ...


2009-04-25(Sat) [長年日記] この日を編集

_ [ubuntu]9.04にアップデート

cf-w2bのubuntuを9.04にあげる。ってもGUIからぺしぺしやれるので非常に簡単だった。再起動って何回もしないのでアレだが、得に遅くなってるところもなく、非常にスムーズ。いいね!

apache2が2.2.11になってた。8.04LTSサーバをけっこうたくさん使っているのだけど、何台かは9.04Serverにしてみようかな。


2009-04-26(Sun) [長年日記] この日を編集

_ sinatra+cgiが動いた...

やっとこさsinatraのサンプルが手元で動いた。

kog@ubu1:/usr/local/lib/ruby/gems/1.8/gems/rack-0.9.1/lib/rack$ gem18 list | grep -e rack -e sinatra
rack (1.0.0, 0.9.1, 0.9.0, 0.4.0)
sinatra (0.9.1.1)
#!/usr/local/bin/ruby18

require 'rubygems'
require 'sinatra'

set :run, false
set :environment, :cgi

get '' do
  <<-END
  <pre>
#{$LOAD_PATH.join("\n").to_s}
  </pre>
  END
end

Rack::Handler::CGI.run Sinatra::Application
/usr/local/lib/ruby/gems/1.8/gems/rack-0.9.1/bin
/usr/local/lib/ruby/gems/1.8/gems/rack-0.9.1/lib
/usr/local/lib/ruby/gems/1.8/gems/sinatra-0.9.1.1/bin
/usr/local/lib/ruby/gems/1.8/gems/sinatra-0.9.1.1/lib
/usr/local/lib/ruby/site_ruby/1.8
/usr/local/lib/ruby/site_ruby/1.8/i686-linux
/usr/local/lib/ruby/site_ruby
/usr/local/lib/ruby/1.8
/usr/local/lib/ruby/1.8/i686-linux
.
/usr/local/lib/ruby/gems/1.8/gems/rack-0.9.1/lib
  
kog@ubu1:/usr/local/lib/ruby/gems/1.8/gems/rack-0.9.1/lib/rack$ diff -u request.rb.orig request.rb
--- request.rb.orig     2009-04-26 10:38:49.000000000 +0900
+++ request.rb  2009-04-26 10:27:29.000000000 +0900
@@ -113,7 +113,10 @@
             Utils::Multipart.parse_multipart(env)
           @env["rack.request.form_vars"] = @env["rack.input"].read
           @env["rack.request.form_hash"] = Utils.parse_query(@env["rack.request.form_vars"])
-          @env["rack.input"].rewind if @env["rack.input"].respond_to?(:rewind)
+          begin
+            @env["rack.input"].rewind if @env["rack.input"].respond_to?(:rewind)
+          rescue Errno::ESPIPE
+          end
         end
         @env["rack.request.form_hash"]
       else

rack 1.0.0は入れたのだけど、なんで使わんのだろうか?

参考:

_ さくらインターネットでsinatra

やっと動いた... はまりポイントとしては.htaccessのsetenvが利かないということで、スクリプトだけでなんとかしてみる。

#!/usr/local/bin/ruby -I/home/bangbangshoot/local/lib

ENV['GEM_HOME'] = '/home/bangbangshoot/local/rubygems'

require 'rubygems'
require 'sinatra'

set :run, false
set :environment, :cgi

get '' do
  <<-END
  <pre>
#{$LOAD_PATH.join("\n").to_s}
  </pre>
  END
end

Rack::Handler::CGI.run Sinatra::Application

RUBYLIB相当のを -I で指定し、GEM_HOMEを1行目に。

さくらインターネットでも setenv しろ、的なものは見かけたのだけど、私の使ってるホストでは利かない模様。まあ、サービスも複数あるし、サーバの世代もあるだろうし。

_ さくらインターネットでsinatra 2

いや、こっちのほうがいいかも

#!/usr/local/bin/ruby

$LOAD_PATH.unshift '/home/bangbangshoot/local/lib'
ENV['GEM_HOME'] = '/home/bangbangshoot/local/rubygems'

2009-04-29(Wed) [長年日記] この日を編集

_ vmware server 2 の設定いろいろ

ホスト起動・停止時の自動起動他

  • WebIFからログオン
  • (左側の)Inventoryから、ホストマシンを選択
  • (右側の)Configure Options→Edit Virtual Machine Startup/Shutdown Settings を選択
  • ダイアログで仮想マシンを選んでedit。

ショートカットからサスペンド

"C:\Program Files\VMware\VMware VIX\vmrun.exe" -T server -h https://localhost:8333/sdk -u ホストのユーザ -p ホストのパスワード suspend "[standard] フォルダ\仮想マシン.vmx"

ショートカットから開始

"C:\Program Files\VMware\VMware VIX\vmrun.exe" -T server -h https://localhost:8333/sdk -u ホストのユーザ -p ホストのパスワード start "[standard] フォルダ\仮想マシン.vmx"
本日のツッコミ(全2件) [ツッコミを入れる]

_ まめ [VMWARE-SERVER 2.01を使用しています。 Configure Options→Edit Virtual..]

_ kog [Inventoryからホストマシンを選択しましたか?仮想マシンを選択してたらでないですよ。]