gitでコミットと同時にhudsonのテストを実行する方法メモ

vi .git/hooks/post-commit


に以下を追加するだけ。


/usr/bin/curl -u username:password http://build.unshiu.jp:8080/job/jobname/build?token=xxxxxx


usernameとpasswordはそれぞれhudsonのものを。


特にユーザ管理してなければいらないけれど、hudson用につくるのが一番ですかね。


jobnameは hudsonのジョブ名を指定してあげればいいです。


tokenはビルド・トリガをリモートからビルドに設定すると登録できる認証トークンを設定します。


分散型なgitなのであたりまえといえばあたりまえなんですが、このpost-commit設定をローカルでしてあげればOKだったのにちょっと「おぉ」っておもってしまった。


svnだとsvnのサーバへいって、hook scriptを編集してごにょごにょしなきゃいけなかったから、あれはあれで今にしておもうとだいぶ面倒だったなぁって思った今日このごろ。

hudson立ち上げました

unshiu用にhudsonを立ち上げました。


コミットを起点にビルドしてます。


http://build.unshiu.jp:8080/


えっと既に真っ赤でテスト全部とおってないのはご愛嬌。。。一応社内で全部通してから外にもってたんですが、うーん無念。なるはやで緑にせねば。


hudson自体は今回サーバがDebianだったこともありインストールはすごく楽でした。


apt-get install hudson


/etc/init.d/hudson start


以上。


この手軽さはやっぱステキです、hudson。


unshiuはベースとなるseedといわれる部分と、各種pluginにわかれています。


pluginごとにテストをしてもいいのですが、他のpluginに依存している部分があるとテストができないという問題もあるため、すべてpluginがはいった状態で通してチェックしています。まさに結合テスト的に。


この規模になるとローカルでテストを毎回通すのは至難の業なのでだいぶ助かってます。


結果画面をみてもらうとわかるかと思いますが、Railsでもhudsonは結果統計とれちゃいます。


Rspecもpluginいれれば対応できちゃいます。


社内ではこの環境を1年近くまわしてますが、まったく不便がない。


なにがいいたいかというと「hudson便利だよ!RubyRailsでも全然使えるよ!」ってことでしたw

unshiuをオープンソースとして公開しました。

http://github.com/unshiu


元々社内でモバイル用のCGMフレームワークとしてつくっていたものです。


モバイルに特化したSNSを構築する案件があったのですが、モバイルの場合、絵文字の問題や各キャリア間や機種での差異があるため、どうせなら共通のものをつくったほうがいいということでつくられたのが元になっています。


またもうちょっと裏事情を話してしまうと、PKGという形できっちりとしたものをつくってしまっていも「やっぱこの機能はいらない」とか「ここはもうちょっとこうしてほしい」とか当然要望がでてきてPKGという形でおさまりきらないことが多かったです。やはり新しいCGMサイトをつくるの際に、まんまmixiと同じものを立ちあげても当然mixiにはかなわないので、カスタマイズや新しい機能は必要と考えるのは当然ですし。


エンジニア的にも既にある機能をかくす作業というのはモチベーションが下がりますし、隠すためにお客さんに作業費と工数をみともってやりとりするのもお互いハッピーじゃないよねと。


だったら機能を取り外せる機構を用意して、そこに必要な機能をプラグインのような形で組み込めるようにすればいいんじゃない?


という発想が元になってます。


最初のバーションをつくってから1年以上立っていおり、いろいろな過程をへて、PCにも対応したので区切りという意味でオープンソースにしました。


オープンソースにするかしないかはいろいろ議論はあったのですが、Railsで例えば日記機能をつくるなんて慣れた人なら1日もかなわないですし、技術的に公開して困るほど特別難しいことも必要ありません。だったら社内に大事にしていているより、もっと多くの人に見てもらって、要望をだしてもらったり改善してもらった方がお互いハッピーでいいんじゃないかという結論にいたりました。


ライセンスをMPLという比較的案件などでつかいやすい形にしたのも、多くの人に使ってもらいたいというエンジニア的な思いからそうなりました。


まだドキュメントも足りない点がありますが、きちんとそろえていくつもりです。


いろいろ思いはありますが、とりあえずこんなところで。

四苦八苦

GWあそぼうなんて計画はおもいっきりすっとばして、いろいろ追いつめられ中。


きっと今月末もしくは月初め直後になにかだせるはず。


でかい花火を。


それのおかげでしばらく外の勉強会もいけてなかったから来月はいろいろいきたいな。

GWにやること

なんかやっぱまとめておくと、「やらないと」感がましてやるみたいなのでリストアップしておく。



ちょっとFlashで遊んでみたい気分。ちょうどchumbyで遊ぼう!っていう本をかったばっかりだし。



  • django


rails以外にも手をだしたい今日この頃。Merbというありきたりなところではなく、いっそPython



  • ガンプラ作るスペースをつくる


塗装ブース設置したい


んーとりあえずこれくらい。思いついたら追記しよ。