Rijiでの最近の試行錯誤
Kichijoji.pm #2
Jan 16th, 2015
Profile
- https://mackerel.io/
- サーバー管理・監視ツール as a Service
- 前身: はてなの社内ツール
- 管理対象のサーバーから送信するメトリクスを集計
- Mackerelシールあります
Riji
やりたかったこと
- 普段使っているエディタで編集
- 書き捨てにならない
- Blogと個人Wikiの中間
- mdをgit pushしたらサイト更新
Riji チュートリアル
英語に翻訳してくれる人が…!
作る途中の試行錯誤
- Git::Repository::FileHistory
- Text::Markup::Any
- Puncheur (オレオレWAF)
何故かフレームワークから作った
リリースまで
構想自体はだいぶ前からあった(何度か作り始めて捨ててる)
- 2013-02-02 initial commit (Kossy)
- (そして月日は流れた)
- 2013-07-20 次のコミット(Puncheur)
- 2013-07-29 0.01 リリース
静的書き出しの試行錯誤の変遷
- fork + plackup + wget -r
- App::Wallflowerでスキャン
- App::Wallflowerを拡張
- バックポート内容をApp::Wallflowerにp-r送っている
最近のupdate
今年の年明け急に機運が高まって細かいアップデート
- riji publish --force オプション(trapple++)
- riji publish 出来ない条件を緩和
- 静的生成のスキャナーを改善
- アルファではなくした(podから削除)
- テストを充実(テスト殆どなかった)
テストコケまくり問題
- テスト書いてv0.9.0リリース
- Travis全部こけてウケる(ウケない)
- 試行錯誤
原因その1
- Travis上でgit commit出来ない
- git config --globalはしたくない
- --globalをつけない場合はリポジトリありきが前提
- 環境変数でなんとかした
原因その2
Rijiがインストールされてない環境で絶対コケる
- dist_dirからひな形をコピーしてこようとしてるところでエラー
- テスト内でdist_dirを無理やり上書き
- Test::Mock::Guard
- これがいいかはわからない…
原因その3
未だわからず。
- article/entry/new.md を開こうとしているのにarticle/entry/new.md320401328730303 とか謎の番号がついたファイルを開こうとすることが…
- Perl5.16以下の場合にまれに起こる(Travisだと100%起こる)ので、Travisでは5.18と5.20しか回さないようにした…。
- 誰か知見があれば…
カバレッジ低すぎ問題
うわっ私のカバレッジ(ry
- 45%…
- 外部コマンドとして起動して振る舞いを確認していたので、カバレッジ測定してくれない部分が多かった
- 別に本質的な問題ではないが印象が悪そうなのがちょっといや
無理やりなんとか
- 環境変数でt/Util.pmの振る舞いを変更
- Module::Unloadとかシングルトンの破棄とかかなり無理やり
- カバレッジ87%!
そろそろversion 1を出したい機運
We are Hiring
- はてなではエンジニアを募集しています
- 東京でも絶賛採用中
- エンジニアは少ない
- 東京のエンジニアは現状2人ですが東京オフィス自体には30人くらいいます
- もちろん京都にもおいでやす