jsPerfを自分専用の環境にクローンしてみる
Posted: Updated:
おれ専用
外向けに公開したくないけどjsPerfでテストしたいな〜、と考えていた折、GitHubにリポジトリあるじゃん!ってなったのでcloneしてみた。ローカルコピーの案内もあったのでレッツトライ。
How to run a local copy of jsPerf for testing/debugging
基本的に、GitHubのREADMEにあるローカルコピーの方法まんまです。出力にPHPが使われているので、Static HTTP Serverの類では動作しないことに注意してください。
PHPのビルトインウェブサーバーだとさっくり動いたりしないかな?
jsPerfのリポジトリをcloneする
% cd /path/to/jsperf-public % git clone git://github.com/mathiasbynens/jsperf.com.git ./
サブディレクトリは作っちゃだめだそうで、ホストのルートになるようディレクトリを公開してください。
Databaseの作成
% mysql -u root -p -e 'CREATE DATABASE jsperf CHARACTER SET utf8';
つるん
Tableの作成
% mysql -u root -p jsperf < _tmp/database.sql
ぐわっ
Configの編集
% cp _inc/config.sample.php _inc/config.php
http://www.browserscope.org/user/settingsで、BrowserscopeのAPIキーを取得
.htaccessを編集して、自分のドメインに設定する
RewriteCond %{HTTP_HOST} !^yourdomain.example.com|^a\.jsperf.com|^dev\.jsperf.com$ [NC] RewriteRule ^(.*)$ http://jsperf.com%{REQUEST_URI} [R=301,L] RewriteCond %{HTTP_HOST} ^yourdomain.example.com$ [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*).css$ _css/main.css RewriteCond %{HTTP_HOST} ^yourdomain.example.com$ [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)-([0-9]+).js$ _js/$1.js RewriteCond %{HTTP_HOST} ^yourdomain.example.com$ [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*).js$ _js/$1.js
assetsわけてないから、単一ドメインに書き換えまくり。
Apacheを立ち上げておしまい
apacheとかバーチャルホスト類の設定は省きましたが、cloneしちゃえばphpMyAdmin並みには簡単に動作させられるので、うまいこと使ってみるとよさそうです。
元のjsPerfリポジトリの更新状況を反映したい場合は、githubでフォークしたリポジトリにフォーク元の変更をマージする - ぷろぐらまねがのような感じで、リモートを追加しておけばよいかと。
% git remote add fork_origin git://github.com/mathiasbynens/jsperf.com.git
Preparation codeのところに、ZeptoやjQMobi、自作ライブラリなどを追加すると良い感じです。author detailsのあたりを全部隠しちゃったりとか。コソコソ研究したいフェーズに大変よろしい感じ。