PHPもやらなきゃJenkins
改名なのかフォークなのか、とにかくHudsonプロジェクトはHudsonとJenkinsに分かれました。(開発者はフォークではなく改名と主張していて、この辺りの話はinfoQが詳しいようです。http://www.infoq.com/jp/hudson )
※前回の記事で紹介したphp-hudson-template はphp-jenkins-template に変わっています。
またPHPUnitで有名なSebastian氏がbuld.xmlを自動で作成してくれるPPW (PHP Project Wizard )というツールをリリースして、面倒だったプロジェクトの設定ファイルbuld.xmlの作成がとても簡単になりました。
Sebastian氏はhttp://jenkins-php.org/というPHPでJenkinsを使うためのガイドをするサイトも用意しています。以下はその補足です。
Jenkins インストール
本体
- Jenkinsをインストール
Jenkins公式サイト http://jenkins-ci.orgあらダウンロードしてインストールします。Windows/OSX/Ubuntu等のネイティブインストーラーもあるのでそれを利用するのがいいんじゃないでしょうか。自分はOSXのネイティブインストーラを使用しました。以下の例はOSXでのものです。
起動はCLIで行います。
$ java -jar /Applications/Jenkins/jenkins.war
http://localhost:8080でJenkinsの画面が確認できるはずです。
続いてJenkins用プラグインをインストールをします
wget http://localhost:8080/jnlpJars/jenkins-cli.jar
java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin checkstyle
java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin clover
java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin dry
java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin htmlpublisher
java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin jdepend
java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin plot
java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin pmd
java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin violations
java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin xunit
java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin git
java -jar jenkins-cli.jar -s http://localhost:8080 safe-restart
mv jenkins-cli.jar /Applications/Jenkins/
次はPHPのツールです。
sudo pear channel-discover pear.pdepend.org
sudo pear channel-discover pear.phpmd.org
sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover components.ez.no
sudo pear channel-discover pear.symfony-project.com
sudo pear install pdepend/PHP_Depend
sudo pear install phpmd/PHP_PMD
sudo pear install phpunit/phpcpd
sudo pear install phpunit/phploc
sudo pear install PHPDocumentor
sudo pear install PHP_CodeSniffer
sudo pear install --alldeps phpunit/PHP_CodeBrowser
sudo pear install --alldeps phpunit/PHPUnit
sudo pear install phpunit/ppw
PHP Project Wizard (PPW)を使ってbuild.xmlを作成
プロジェクト用の設定ファイルbuild.xmlファイルを作成します。リポジトリに対して一つ用意します。通常はパッケージのトップディレクトリに配置します。
作成はPPWというツールを使えば簡単です。
例えばzf2の場合はbuild.xmlが用意されていませんが、下記のようにppwコマンドでzf2/build.xmlとzf2/phpunit.xml.distが作成できます。
` $ git clone git://git.zendframework.com/zf.git zf2 $ cd zf2 $ ppw -name zf2 –source library/Zend/Acl –tests tests/Zend/Acl/ –bootstrap tests/Bootstrap.php –phpcs Zend . `
Wrote build script for Apache Ant to ./build.xml
Wrote configuration for PHPUnit to ./phpunit.xml.dist
$ cd zf2
$ ant
buildがうまくできると、zf2/build/に出力結果が保存されます。作成されたcode browserを開いてみましょう。
`
$ open build/code-browser/index.html
`
Jenkinsで試す前にまずantでbuildができるか試してみるのがいいと思います。
Jenkinsでプロジェクト作成
プロジェクトのテンプレート作成
jobフォルダにgitでプロジェクトテンプレートを用意します。
$ cd ~/.hudson/jobs
$ git clone git://github.com/sebastianbergmann/php-jenkins-template.git php-template
$ java -jar /Applications/Jenkins/jenkins-cli.jar -s http://localhost:8080 reload-configuration
新規プロジェクト作成
利用可能にしたプロジェクトテンプレートを指定して、新規プロジェクトを作成します。
次の画面で、ビルド無効化 のチェックを外し、ソースコード管理システムを編集してソースコードレポジトリ情報を設定します。プロジェクト設定を保存し、ビルドを実行します。
まとめ
- HudsonはJenkinsに
- Sebastian氏がppwというbuild.xml作成ツールとプロジェクトテンプレートを用意し利用が楽に
- PHPコミュニティに多大な貢献をしてる氏に感謝
- CIしよう