Ukigumo::ServerがCPANに上がっていました
https://metacpan.org/module/Ukigumo::Server
CPANに上がっていない他の人のモジュールをあげる業をしている今日このごろ皆様如何お過ごしでしょうか。
さて、この度Ukigumo::ServerをやっとCPANに上げましたのでご報告です。
- ukigumo-server起動スクリプト
- MySQL対応
辺りが大きなフィーチャーです。
% cpanm Ukigumo::Server
% ukigumo-server --config=config.pl
とかやればデフォルト2828ポートでサーバーが立ち上がります。「ふわふわ」なので2828なのですが、どう見ても「ニヤニヤ」でした。
configファイルにはDBの設定等を記載します。configファイルの指定は任意ですが、指定しない場合はdevelopment.dbというSQLiteのファイルがカレントディレクトリに作られてそこにデータが保存される形になります。
別にcpanmで入れなくても、従来通りrepoをcloneしてきて適宜調整して動かす形でも大丈夫ですが、何かカスタマイズ等している場合はその内容をフィードバックいただけると大変嬉しいです。
既存環境からは特にインターフェース的に大きな変更が入ったわけでもないので最新版に追随は難しくないと思いますが、特に新機能が入ったわけでもないので、無理して最新版に追随する必要もないかと思われます。
内部的には、
- SQL::Interp依存をやめてTengを採用
- XslateのsyntaxをTTerseからKolonに変更
という変更が入っています。特に理由はありませんが、僕がそうしたかっただけです。(Tengの方が各種RDBMSに対応しやすいかもしれない、くらい)
これで、
- Ukigumo::Server (CIデータ保存API、閲覧サーバー)
- Ukigumo::Client (Ukigumo::ServerのAPI形式のリクエストを簡単に作れる君)
- Ukigumo::Agent (テスト動かしてUkigumo::Serverに投げてくれる君)
という、Ukigumoシリーズが全部CPANに上がったことになります。こういう各レイヤーが適切に切り分けられている設計は非常に綺麗ですね。それぞれをどう協調して使うかという話はそのうち書くかもしれません。
あとはテストケース数を保存してグラフをプロットするとかそういう機能くらいは欲しいかな、とは思っています。
ukigumo-serverは、YAPC後のFreakOutさんでのハッカソンでだいたい作っていました。今年4月のQA Hackathon 2013 Satellite at TokyoでもUkigumoを触っていたみたいで、FreakOutさんでハッカソンをやるとUkigumoをいじるという流れになっているようです。FreakOutさんはUkigumoを採用企業なので丁度よいですね。