JenkinsでPHPの継続的インテグレーションを体験する 重複チェック編
|PHPCPDを利用してコードの重複をチェックすることが可能です。
結果をxmlに出力してjenkinsに連動させることで、他のジョブと連動したり自動化したりする事が可能になります。
ジョブの作成
インストールしたPHPCPDとDRY Pluginプラグイン連携させる為にジョブを作成する必要があります。
さっそくジョブを登録してみましょう。
新規登録
ジョブ名をphpcpdで新規登録します。
タイプは「フリースタイル・プロジェクトのビルド」を選択して下さい。
ビルド手順の追加でphpcpdを起動するスクリプトを追加します。
cd ${WORKSPACE} && sudo phpcpd --names *.php --log-pmd ./_report/cpd.xml --exclude assets/*,commands/*,config/*,runtime/*,tests/*,vendor/*,views/*,web/* . || id
ビルド完了後に./_report/cpd.xmlが出力されるので集計します。
_report/cpd.xml
ジョブの実行
設定が完了したらジョブを実行してみましょう。
ジョブのメニューからビルドを実行して下さい。
実行中のプログレッシバーが表示されます。
しばらく待ちましょう。
レポートを確認しながらリファクタリングの参考にしてみてください。