2008年2月18日月曜日

Buildbotその5

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
ドキュメント読んでいてもなんか好きになれない・・・。
buildの自動化ってもっと単純な気がするんだけど、buildbotはドキュメントが回りくどい。読んでいてむかついてくる。cfgもむかつく。何度も同じ名前をタイプさせるな。

1. buildを発生させたい条件
 a. commit
 b. 定時
 c. 手動
2. buildを行う実体
 a. どのmachine
 b. どのdaemon etc.
3. buildで行う作業
 a. checkoutの方法
 b. makeの方法
4. buildの結果報告
 a. web
 b. mail
 c. irc, etc.

基本的にはこれらの条件を指定すればいいわけだ。2,3なんて要はリモートのホストにスクリプトを注入して結果を取ってくる機能があれば実現できるわけで、設定作業というのはほぼスクリプトを書くことに他ならない。steps.SVNとかにはあまりセンスを感じない。結局スクリプトの一行一行に対してpopen2.Pope3みたいなことをするわけでしょ?だったらリモートホストで実行するスクリプトをそのままかかせろや。応用は利かないし、問題があったときに原因探すのがやりにくい。

1はフックの方法を指定することになる。BuildをTriggerするということで、Triggerと呼ぶけど、Buildの設定は、Buildの名前、Triggerの名前、slaveの名前、build scriptの名前のタプルを登録みたいなわかりやすい方法にしてほしいなぁ。
んで、TriggerのsubclassにtimerとhookがあってTimerは周期をとるし、hookはxmlrpc callとかsvnのpost-commitとか。

間違ってもTrigger生成でslaveやbuildの対象の名前を要求したりしてほしくない、その逆もね。

管理しているsourceの問題解析にはtimingはあんまり関係がない公算が高くて(build systemの問題は別)、どのマシンかという情報とrevistionが肝。gitのbisecみたいな機能もほしいね。てか、gitがbisecを実装しているのは微妙にやりすぎな気もする。bisecを提供するのは上位の仕事だと思う。bisec test.pyとかするとtest.pyがどのrevisionでこけるか調査してもらえるとか。

0 件のコメント: