MemcachedとGearmandのインストール(libmysql + libmemcachedサポート付で)

Gearmandについて。 http://gearman.org/gearman 現在の最新版でのインストール方法を書く。 ■memcached-1.4.15 >cd /usr/local/src/memcached-1.4.15 >useradd -d /var/empty -s /sbin/nologin memcached >yum install libevent-devel >./configure --prefi…

LAMP環境をつくる(CentOS6.3)

ソースは全て/usr/local/srcに展開。 Apache apr-1.4.6,apr-util-1.5.1,apr-iconv-1.2.1,httpd-2.4.3をダウンロードしておく。 /usr/local/apache-2.4.3にインストールする。 >cd /usr/local/src >mv apr-1.4.6/httpd-2.4.3/ srclib/apr >mv apr-util-1.5.1/…

CentOs6.3 64bitのMinimalインストール

CentOSのインストール時にMinimalパッケージを選択してインストールする。 その後初回ログイン時の作業。 SELINUX無効化 >setenforce 0 >vim /etc/selinux/config SELINUX=disabled これで保存。 PC上のVMとしてローカル環境のみで使うのでファイアウォール…

PHPUnitでのベストプラクティス

PHP

ようやく今手を付けているライブラリのカバレッジが60%を超えてきたので、一息つく。PHPUnit自体の作者である、セバスチャン氏によるスライド。http://www.slideshare.net/sebastian_bergmann/phpunit-best-practicesこういうときはこうすればいいね、こうい…

Jenkins上でのJdepend表示の見方

Afferent Couplings:このパッケージが外部から参照されている度合い。 Efferent Couplings:このパッケージが外部パッケージに依存する度合い。 Abstractness:このパッケージ内のabstractクラス、interfaceの割合。 Instability:0%から100%。大きいと外部…

Redmineをプライベート用にも用意してみた。

Redmine http://redmine.jp/って、最近はこんな便利なのがあるんですね。 Bitnami http://bitnami.org/ja/stack/redmineOSまでこみのパッケージとかびっくり(笑) AmazonEC2は多少は使い慣れているのでそれ用ので環境作ってみた。 楽すぎてびっくりした。 EC2…

WindowsでJenkins+PHPはとりあえずそれなりにできたのでLinuxでJenkis+PHPにした。(結局)

環境はCentOS 6.2 x64 jenkinsのサイトからnative rpm落としてきてrpm -ivh 他もろもろ前と手順はほとんど変わらず。しかし・・・パスがとおらない。。 phingとかphpcsとかもろもろ。 事前実行スクリプトでPATHを設定してもダメ。わけがわからないよで、必要…

Eclipse PDT上でのPHPUnit実行について。

PHP

EclipsePDTでのユニットテスト実行についてを書こう。結論を先に言うと、これを使えばいい。 びっくりするほど簡単。■MakeGood (Eclipse PDT Plugin) http://redmine.piece-framework.com/projects/makegood/wiki/A_continuous_test_runner_for_Eclipse_PDT…

Apache2.4 mod_lua を試した時のことを書く。

apache2.4で追加された、mod_luaをサンプルだけ動かして試した。 ※luaは「月」って意味らしい。かっこよすぎて惚れる。http://httpd.apache.org/docs/2.4/mod/mod_lua.htmlすげー動いた!(apache上でのstatusはExperimental「実験」である) LoadModule lua_m…

Memagentを動かせるようにしたときのことを書く。

memagent simple but useful proxy program for memcached とかいうものについて書く。pixivというイラスト系コミュのシステムで行われている方法。 ネットのどっかにスライドがあった。 pixivのシステムはイカで説明するような感じで、memcached利用からkyo…

LevelDBとKyotoTycoon連携させて試したときのことを書く。

GoogleのLeveldbを動かしてみたときのことを書く。ソースはgitからとってくる。 git clone https://code.google.com/p/leveldb/ cd leveldb configureがないのでMakefileをいじる。 いじるのはCFLAGSだけ。 イカのように。 CFLAGS = -c -I. -I./include $(PO…

Phingタスクの自作方法

Phing用タスクを自作する方法が書かれていた。http://raphaelstolt.blogspot.com/2009/02/phplocing-your-projects-with-phing.htmlぐはぁ・・・・ めんどくせぇ。。息をするのもめんどくせぇ

ビルドファイル修正版

Ant用ファイルとPhing用ファイルに分けて、Jenkins側でそれぞれのxmlを指定するようにした。一応これですべてJenkins上で見られる。 カバレッジレポートはcloverで出してるが、namespace対応できていないっぽくてHTMLレポートでとび先が404になる。 原因は対…

PHPUnitでテストクラス雛型自動生成。from既存のソースから。

PHP

ユニットテストについても少しだけ書く。テストコード、まず書くのがめんどくさいという人は多いと思う。 ので、それを軽減する方法を。テストコードのスケルトンを自動生成する。 それには追加でPEARパッケージを導入する。 pear install phpunit/PHPUnit_S…

API Documentの自動生成を、PHPDocからDocBloxにしてみた。

PHPDocはデフォルトのテンプレートがずいぶん古いので。DocBlox http://www.docblox-project.org/やり方は簡単・・・でもなかった。 まず、コマンドラインでPEARパッケージを入れる。 pear channel-discover pear.docblox-project.org pear install docblox/…

GitでレッツJenkins

GithubでなくGitなら、リポジトリ内の「hooks/post-update」に、 wget -o /dev/null http://:/job//build?delay=0sec みたいのを書く。

GithubにpushしたらレッツJenkins

Githubを使っているなら、Jenkins(Githubから叩ける場所で公開する必要がある)に、 Github Plugin(This plugin integrates Jenkins with Github projects.ってやつ) を入れる。 いれたら対象jobの、 「設定」→ビルドトリガに「Build when a change is pushed…

subversionにコミットされたらレッツJenkins

リポジトリの「hooks」というディレクトリ内に「post-commit.tmpl」というテンプレがあるはずなので、それを「post-commit」にリネームしてコピーする。 コピーしたファイルの中に以下みたいに書く。 wget -o /dev/null http://:/job//build?delay=0sec ※環…

Jenkinsを実際にどのように運用するのか?

Jenkinsを実際にどのように運用するのか?という話。構成としては大体以下のようになる。■ジェンキンスサーバ(執事) ※リポジトリに叩かれたらすぐに最新版ソースを取りに行って、それを元に自動的に単体テストやなんやかんや実行してレポートを作成する。 ※…

ビルドをAntではなくPhingにした場合のbuild.xml

ビルドをAntではなくPhingにした場合のbuild.xmlを。 phplocとphpcbについてはPhing側に受付オプションが見当たらなかったので動きません。 別途Antで走らせればいいと思う。 <project name="pofc" default="all"> <property name="basedir" value="./" /> <property name="output" value="${basedir}/build/logs" /> </property></property></project>

jenkinsでPHPプロジェクトを使えるようにする方法(windows環境)

誰も見ないけどここで書いとく。ビルドにはantを使います。phingは使いません。これ、テスト自動実行以外にも、 文法チェック、 怪しい書き方のコードを注意してくれたり、 ここコピペしただろ!ってところ指摘してくれたり、 コード規約も守れんの?とか、 …