構成

使用するファイル


build.xml

<?xml version="1.0" encoding="utf-8" ?>
<project name= "BuildTest" basedir= "." default= "main">
    <target name="main" depends= "init,phpcs,phpmd,phpcpd,phpdoc,phpunit"></target>
    <!-- init -->
    <target name="init" >
        <delete dir= "./reports" includeemptydirs= "true" />
        <mkdir dir= "./reports" />
        <delete dir= "./doc" includeemptydirs= "true" />
        <mkdir dir= "./doc" />
    </target>
    <!-- checksytle -->
    <target name="phpcs" description="Generate phpcs.xml using PHP_CodeSniffer" >
        <exec executable="phpcs">
            <arg line="--report=checkstyle --extensions=php --report-file=./reports/phpcs.xml ./" />
        </exec>
    </target>
    <!-- PHPMD -->
    <target name="phpmd" >
         <phpmd rulesets="codesize,unusedcode,design,naming" >
             <fileset dir="./" >
                 <include name="**/*.php" />
                 <exclude name="**/*Test.php" />
             </fileset>
             <formatter type="xml" outfile="./reports/pmd.xml"/>
         </phpmd>
    </target>
    <!-- PHPCPD -->
    <target name="phpcpd" >
         <phpcpd>
              <fileset dir= "./" >
                  <include name="**/*.php" />
                  <exclude name="**/*Test.php" />
              </fileset>
              <formatter type="pmd" outfile="./reports/cpd.xml" />
         </phpcpd>
    </target>
    <!-- PHPDocumentor -->
    <target name="phpdoc" description= "Generate Application Documentation using PHPDocumentor2">
        <exec executable="phpdoc">
            <arg line="run -t doc -d ./ -p" />
        </exec>
    </target>
    <!-- PHPUnit -->
    <target name="phpunit">
        <mkdir dir="reports/coverage" />
        <exec dir="." 
            command="phpunit 
                --log-junit ./reports/unitreport.xml 
                --coverage-html ./reports/coverage_html 
                --coverage-clover ./reports/coverage.xml ./"/>
    </target>
</project>
 
 



サンプルジョブ作成

新規ジョブを作成して作成画面へ遷移

「ジョブ名」を設定し、「フリースタイルプロジェクトのビルド」を指定する

設定画面へ遷移することを確認

ジョブ処理の説明、ソースコード管理システムを設定する(今回はsubversionでかつ、fileスキームとする)


ビルド手順

下のほうの「ビルド手順の追加」プルダウンより、「Phing」を指定する

「ターゲット」を「main」、ビルドファイルを「build.xml」とする


ビルド後の処理

「ビルド後の処理の追加」プルダウンより、「CheckStyle警告の集計」を選択

集計ファイル「reports/phpcs.xml」を指定

「ビルド後の処理の追加」プルダウンより、「PMD警告の集計」を選択

集計ファイル「reports/pmd.xml」を指定

「ビルド後の処理の追加」プルダウンより、「重複コード分析の集計」を選択

集計ファイル「reports/cpd.xml」を指定

「ビルド後の処理の追加」プルダウンより、「Cover PHP カバレッジレポートの集計」を選択

集計ファイル「reports/coverage.xml」を指定し、「HTMLレポートを公開する」をチェックし、「reports/coverage_html」を指定

「ビルド後の処理の追加」プルダウンより、「JUnitテスト結果の集計」を選択

集計ファイル「reports/unitreport.xml」を指定

「ビルド後の処理の追加」プルダウンより、「Javadocの保存」を選択

パラメータに「doc」を指定

保存して前の画面へ戻る

ビルドを実行する

ビルドが実行するまで待機

正常時は青のマーク、異常時は赤のマークとなる

ビルド後にワークスペースにファイルを作成していること

ビルド後にsubversionのファイルをチェックアウトしていること

画面を再読み込みすることで前回ビルドとの差が表示される





最終更新:2012年12月26日 00:23