http://d.hatena.ne.jp/Yamashiro0217/20110619/1308491991
!!!PHPの設定
!!必要なライブラリ、ツールのインストール
yum install php-xml
pear channel-discover pear.phing.info
pear channel-discover pear.pdepend.org
pear channel-discover pear.phpmd.org
pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear channel-discover pear.symfony-project.com
pear install phing/phing
pear install pdepend/PHP_Depend
pear install phpmd/PHP_PMD
pear install phpunit/phpcpd
pear install PHPDocumentor
pear install --alldeps phpunit/PHPUnit
もしインストール中に他に必要なライブラリがある場合は、状況に応じてインストールする。
!!各ツールの説明
:phing:PHP版ant
:PHPMD:使われていない変数があるか等のソースチェックをする
:PHPCPD:重複コードがあるか等のソースチェックをする
:PHPDocumentor :PHPDocを生成する
:PHPUnit:テスト・ツール
!!!Jenkins の設定
jenkins のインストール等は[[Jenkins]]を参照
!!プラグインのインストール
ブラウザでもインストールできるが、 CUIでインストール
wget -O jenkins-cli.jar http://localhost:8080/jnlpJars/jenkins-cli.jar
java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin phing
java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin dry
java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin pmd
java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin clover
java -jar jenkins-cli.jar -s http://localhost:8080 safe-restart
!!ジョブの設定
jenkinsの設定は ${JENKINS_HOME}以下に全てある。
各ジョブの設定は、${JENKINS_HOME}/jobs/ジョブ名/ にある。
!ジョブの設定ファイル
${JENKINS_HOME}/jobs/ジョブ名/config.xml
!!ビルドの設定例 テストのみ(ソースコードチェックをしない)
:ビルドの保存最大数:5。多いと邪魔になる。
:ビルド:Phing。 ターゲットは入力しない場合、デフォルトで build.xml を読み込む
:ビルド後の処理:JUnitテスト結果の集計、Javadocの保存、Publish xUnit test result report、Emotional Jenkins を有効。細かい設定は、config.xml 参照
!サンプルジョブ
{{ref PHP_Sample.zip}}
!ディレクトリ構成
PHP_Sample01
|-- builds
|-- config.xml
|-- javadoc
`-- workspace
|-- build.xml
|-- phpdoc
|-- phpunit.xml
|-- src
| |-- sample01.php
`-- test
|-- sample01Test.php
!config.xml
-1
5
-1
-1
false
true
false
false
false
false
true
phpunit.xml
false
phpdoc
false
0
0
0
0
0
0
0
0
1
!build.xml
!!ビルドの設定例2 テストとソースコードチェック
ビルド後の処理:PMD警告の集計、重複コード分析の集計。細かい設定は、config.xml 参照
!サンプルジョブ
{{ref PHP_Sample2.zip}}
!ディレクトリ構成
PHP_Sample02
|-- builds
|-- config.xml
|-- javadoc
`-- workspace
|-- build.xml
|-- cpd.xml
|-- phpdoc
|-- phpunit.xml
|-- pmd.xml
|-- ruleset.xml
|-- src
| |-- sample01.php
| `-- sample02.php
`-- test
|-- sample01Test.php
!config.xml
-1
5
-1
-1
false
true
false
false
false
false
true
low
[PMD]
false
false
false
0
0
0
0
false
true
true
pmd*.xml
low
[DRY]
false
false
false
false
true
false
cpd*.xml
20
10
phpunit.xml
false
phpdoc
false
0
0
0
0
0
0
0
0
1
!build.xml
!ruleset.xml コードチェックのルール
{{category2 ツール,開発}}
{{category2 プログラミング言語,PHP}}