symfony + jenkins でテストサイクルを回そう

テスト大好き、WIのコックさんです。

テスト好きですか?単体テスト書いてますか?

引き続き自分からは、テストネタを一つ。

弊社ではsymfonyを利用して開発を行うことが多いのですが、symfony + jenkins でテスト環境を整える方法を簡単にご紹介したいと思います。

まず、既にsymfonyプロジェクトが存在している前提で話を進めます。symfonyについての詳しい説明は公式の素晴らしいマニュアルをご参照下さい。

http://www.symfony-project.org/

また、この記事を書くために用意した環境は以下の通りです

CentOS5.5 /  java1.6.x / PHP5.3.x / mysql 5.5 / svn1.6.x / symfony1.4 / jenkins1.4

<1>  jenkinsのインストール

jenkins とは、JavaベースのCI(継続的インテグレーション)ツールです。CIツールを導入することで、定期的にMavenなどのビルドツールで記述されたビルドプロセスを定期的に実行し、結果をモニタリングしてくれます。

この記事では、svnにコミットされたsymfonyプロジェクトをCIツールが定期的にチェックアウト(update)し、テストを実行して、その結果を集計するプロセスをご紹介します。

1. jenkinsをダウンロード

http://jenkins-ci.org/ (公式ページTOP)

2. jenkinsを実行

java -jar jenkins.war

3. 動作確認

次のURLをブラウザでアクセス

http://localhost:8080/

とても簡単です!

<2> jenkinsへプロジェクトを登録

以下、ブラウザでの作業になります。

1. 「新規ジョブ作成」リンクをクリック

2. 新規ジョブを作成する

SVNから最新のソースコードを取得しテストサイクルを回す場合、「フリースタイル・プロジェクトのビルド」を選択

3. プロジェクトの設定

ジョブ作成後、以下のような設定画面に遷移します。プロジェクトに応じた設定を行って下さい。下の画像で、その設定例を示します。

これで、jenkinsへプロジェクトを登録することが出来ました。

<3> ビルドの実行

プロジェクトの登録が完了したら、試しにビルド実行してみます。設定にミスがなく、また、対象コードのテストがAll Greenであれば、ビルド履歴に青い丸が表示されるかと思います。


これで、定期的にテストサイクルを回す環境が整いました。非常に簡単かと思いますので、まだCIを導入されていない方、もしくは、導入を検討されている方は、是非jenkinsを利用してみてください。

次回は、単体テストを書いていない人向けのTipsをまとめられればと思います。