miau's blog?

Buildix の VMware Image 動かしてみた

前項で継続的インテグレーション(Continuous Integration)のフレームワークである CruiseControl について軽く触れたけど、その周辺をいろいろ調べてたらこんなのに行き着きまして。

Buildix ≫ About(※恐ろしくつながりにくいです。)

Buildix includes:
- Subversion for Source Control
- Mingle for Agile Project Management
- Cruise Control for Continuous Integration
- Trac as a wiki and bug-tracker
- …plus a little bit of our own ThoughtWorks magic, to glue it all together

CruiseControl だけでなく SVN/Trac や Mingle が全部インストール済みの 1CD Linux と。そういえば昔話題になってた気がするなぁ。
とりあえず VMware Image も配布されているようなので、簡単に試してみました。




■VMware image (or CD image)のダウンロード

実はここが一番大変。かなりの確率で buildix.thoughtworks.com が落ちてる。体感的には 1 日に 1 時間くらいしか稼動していない気がするよ、このサーバ。

なので、運よくサーバが生きているときに接続できた場合は、BitTorrent 使ってダウンロードして、その後しばらく共有してやってください。私は会社から BitTorrent 使えないので、.torrent だけ確保→家に帰って BitTorrent でダウンロードなんてことも試したけど、誰も持ってなかったようなので・・・。

■VM の起動(失敗)

VM を起動しようとすると、こんなエラーが。

Unable to add virtual machine "E:\VMImages\Buildix2.1\Buildix 2.1.vmx"
to the inventory: Configuration file was created by a VMware product
with more features than this version

え。VMware のバージョンが古いって?VMware Server 1.0.5 って今最新のはずだけど。

・・・と調べてみると、解決策発見。

How To Convert VMware Server 2.0 Beta VMs into VMware Server 1.0.4 | Desktop Virtualization

なるほど。2.0 Beta で作られたイメージってことね。.vmx と .vmdk を編集すれば OK と。

■VM の編集

ということで、Buildix 2.1.vmx の 2 行目、

virtualHW.version = "6″

の行を、

virtualHW.version = "4″

こう変更。

で、Buildix 2.1.vmdk も同じように・・・ってこれハードディスクのイメージじゃん。1.43 GB もあるファイルをそんなに気軽に修正できますかっての。

んー・・・どうやって編集しようかな。少なくともファイルの内容をすべてメモリに展開するようなエディタは NG。さらにいうと、ファイル保存時に .bak を作るようなエディタもちょっと避けたい。1.43 GB も無駄にコピー発生するのは嫌だし、HDD の残り容量も心もとないし。

そんなわけで in-place な編集(編集結果を別ファイルとして作成するのではなく、元のファイルを直接編集する方法)ができればいいんだけど・・・元 URL に載ってる sed を使った方法は別ファイルとしてコピーされるみたい。(GNU sed には -i オプションがあるっぽいけど、手元のやつにはなかった。)perl -i も Windows 上だとバックアップファイルを作成しないといけない仕様になってるし。Perl で変換用スクリプト書いてもいいけど、どうせなら専用のツールを探そうかな。

というところで今回使ったのは バイナリエディタ Bz。詳細はまた次項で書くとして、0x345 バイト目あたりを

ddb.virtualHWVersion = "6″



ddb.virtualHWVersion = "4″

に変更、と。これでようやく VM が起動。

■動作確認

もろもろのサービスはもう起動しているので、

・buildix/buildix でログインして、ifconfig とかやって IP アドレスを確認
・http://xxx.xxx.xxx.xxx/ を開く

ってだけで動作確認できます。

buildix1

ちゃんと確かめてないけど、Web から一通りの操作ができるみたい。

■phpUnderControl 導入(失敗)

前置きが長かったけど、本当にやりたかったのはここからで。CruiseControl を PHP 用にカスタマイズする phpUnderControl の導入・・・なんだけど、うまくいかなかった。でも一応やったことのメモは残しておく。

まず、日本語キーボードだと操作しづらい。というか「|」が入力できないから「| grep〜」みたいなこともできなくて困る。英語キーボードとみなされてるようだったらなんとか対応できるんだけど、それとも違うみたい。(LANG=en_GB.UTF-8 になってるからイギリス風の配置か何か?)

これは、

[ubuntu-jp] コンソール キーボード問題。

を参考に、

$ sudo aptitude install console-data

して、「Select keymap from arch list」→「qwerty」→「Japanese」みたいにして対応。

で、いろいろゴソゴソ入れて・・・(この辺はまたどこかでちゃんと説明すると思います。)

sudo -s
apt-get install php-pear
pear upgrade-all

pear config-set preferred_state beta
pear channel-discover components.ez.no
pear channel-discover pear.phpunit.de
pear install --alldeps phpunit/phpUnderControl

CruiseControl にパッチを当てて・・・と思ったら CruiseControl の構成が phpUnderControl のドキュメント(ぜんぶ /opt/cruisecontrol 配下に入れる)と違うっぽい。

/opt/cruisecontrol/config.xml
→/etc/cruisecontrol/cruisecontrol.xml に対応

/opt/cruisecontrol 配下の実行ファイルやライブラリ等(bin、dist、lib、webapps)
→/usr/share/cruisecontrol に対応

/opt/cruisecontrol 配下の変更される系のファイル(artifacts、logs、projects とか)
→/var/spool/cruisecontrol に対応

って感じかな。まあとりあえず、

phpuc install /usr/share/cruisecontrol

とやって、http://xxx.xxx.xxx.xxx/cruisecontrol/ を開いてみる。

buildix2

うーん。画像なりアンカーなりのリンクが切れまくってる。よく見るとリンク先が http://xxx.xxx.xxx.xxx/〜 じゃなくて http://localhost:8080/〜 になってる。https://xxx.xxx.xxx.xxx/cruisecontrol/buildresults/connectfour みたいにアドレスを直打ちを変更したら一応結果は見れたりするんだけど、やっぱり画像とか CSS とかリンク切れてるのであまり楽しくない。

そんなわけで Buildix 単体で使うのは結構便利なんだろうけど、phpUnderControl と組み合わせて使うのには向いてないっぽい、ってのが今のところの結論。

■Mingle

ところで今回 Buildix を試した動機のひとつに、Mingle を使いたい、ってのもあったりする。

Mingle - Agile Project Management & Team Collaboration Tool for Iterative Software Development

というのも今やってるプロジェクトでは、各機能ごとに「概要設計→レビュー→詳細設計→レビュー→開発→レビュー・・・」という感じで処理を進めてるんだけど、機能ごとにステータスに結構開きが出てる。これを Mingle で管理したらわかりやすいんじゃないかなー、と。

でも、よく見ると Mingle って商用利用する場合はライセンス購入しないといけないっぽい。だったら使わなくていいや、ってことで Buildix の調査はここで打ち切り。ちゃんと Ubuntu で一からやることに。
posted at 02:23:54 on 2008-06-03 by miau - Category: General No Trackbacks - Permalink

TrackBack

このエントリにトラックバックはありません
現在トラックバックは受け付けていません。

Comments

No comments yet

Add Comments

現在コメントは受け付けていません。
お手数ですが、 こちら のコメント欄にでも記載していただければと思います。