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) [長年日記] この日を編集
_ お掃除グッズ
- サイバークリーン アイリスオーヤマ サイバークリーン 135gブリスターパック入り BST-135
- エアダスター
サイバークリーンをキーボード掃除につかってみた。 基本埃しかとってくれないみたい。除菌はしているそうだが...。
デスクトップ用の普通のキーボードみたいに、キートップの高さがある程度あるものはいい感じ。うえからぎゅうぎゅう押してはがせばいいので。ノートみたいにキートップが薄いものはあんまりまわりこんでくれない感じ。
"ハイテッククリーニングコンパウンド"らしいので、エアダスターであらかたとったあと、それでも取れないものに使うといいかも。
会社のキーボードもこれでいちどやってみようかしら。
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-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"
_ まめ [VMWARE-SERVER 2.01を使用しています。 Configure Options→Edit Virtual..]
_ kog [Inventoryからホストマシンを選択しましたか?仮想マシンを選択してたらでないですよ。]