JenkinsでFlexPMDを実行させてみた。

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

最近社内の開発プロジェクトではJenkinsを使うケースが増えてきて、内心ニヤニヤしているたごです。

Jenkinsは先日オライリーからも日本語書籍(カエル本)が出てましたが、ここのところ特に注目されているツールだと感じています。
このブログでもいくつか関連記事が書かれていますが、私もネタの一つでも提供しようかと思い、今回はJenkinsでFlexPMDを実行させてみました。

FlexPMD

FlexPMDは、asやmxmlのソースコードの静的解析を行ってくれるツールで、Adobeから提供されています。JavaではPMD(やFindBugs)がありますが、そのFlex版となります。

FlexPMDのインストール

ここから、FlexPMDをダウンロードします。FlexPMDの実行方法は、FlashBuilderのプラグインでの実行やコマンドライン実行などいろいろな方法がありますが、今回はAntで実行するので「Ant Task」か「All-in-one-bundle」を選択してください。また、ここからルールセット設定ファイルをダウンロードしてください。
ダウンロードできたらどこか適当な場所に配置してください。

Jenkinsの設定

本稿では、Jenkins(ver.1.454)のインストール、Jobとそのワークスペースの作成は済んでいるものとして、説明を省略します。まだの場合はyamatoさんの記事を参考にしてください。

Antの設定

まずは、FlexPMDを実行したいJenkinsにAntの設定を行います。

ダッシュボード画面で「Jenkinsの管理」>「システムの設定」を選択した先の設定画面で、Antの設定をすることができます。

Antの設定

Antの名前と使用するAntを指定します。自動インストールにチェックを入れておくと、Jobの実行時に自動でダウンロード・インストールを実行してくれます。既にインストールされているAntを使う場合は、自動インストールのチェックを外し、ANT_HOMEにAntのインストール場所のパスを指定します。

設定項目の入力が完了したら、ページ下部の「保存」ボタンをクリックして設定内容を保存してください。

ビルドファイルを用意

Antでの実行のため、ビルドファイルを用意する必要があります。ソースのビルドをしているbuild.xmlに追記してもいいのですが、今回はflexpmd.xmlという別ファイルを作ることにしました。ビルドファイルはFlexPMDの実行方法のページに紹介されているものを拝借するのがお手軽です。ビルドファイルはJobのワークスペースなどに配置します。ワークスペースの位置は下記の場所になります。

[Jenkinsインストール先]\workspace\[Job名称]

FlexPMDのAnt実行を設定

AntでFlexPMDを実行する準備ができたら、Jenkinsから実行させるための設定をします。ダッシュボード画面で「FlexPMDを実行させたいJob」>「設定」を選択した先のJob設定画面で設定を行います。

ビルドセクションの「ビルド手順の追加」をクリックし、リストから「Antの呼び出し」を選択すると、「Antの呼び出し」設定項目が表示されます。さらに「高度な設定」ボタンをクリックすると追加の設定項目が表示されます。?アイコンをクリックすると、設定項目の説明が表示されるので設定の参考にしてください。

設定項目の入力が完了したら、ページ下部の「保存」ボタンをクリックして設定内容を保存してください。

FlexPMDの結果レポート表示設定

FlexPMDを実行するなら、Jenkinsから結果レポートを見れるようにしておきましょう。

レポートの表示には「PMD Plug-in」を使用します。プラグインのインストールは、ダッシュボード画面で「Jenkinsの管理」>「プラグインの管理」を選択した先の画面で行う事ができます。

プラグイン管理画面

「利用可能」タブを選択すると、インストールできるプラグインが表示されます。そのなかから「PMD Plug-in」を探してチェックを入れ、「再起動せずにインストール」ボタンをクリックするとインストールすることができます。

プラグインのインストールができたら、再びJob設定画面に戻ります。ビルド後の処理セクションを見ると「PMD Plug-in」をインストールしたことにより、「PMD警告の集計」という項目が表示されています。この項目にチェックをすると、設定項目が表示されます。

PMD警告の集計設定

集計するファイルに、集計対象となるPMDレポートファイルのパスを指定してください。「高度な設定」ボタンをクリックすると追加設定項目が表示されます。解析対象のソースコードのエンコードが、Jenkinsが動作している環境のデフォルトエンコーディングと異なる場合は、最後の「デフォルトのエンコーディング」の設定をしておくといいでしょう。

設定項目の入力が完了したら、ページ下部の「保存」ボタンをクリックして設定内容を保存してください。

ビルドの実行

ここまでで設定は終わりです。いよいよビルドを実行してみましょう。

ビルド実行は、ダッシュボード画面のJob一覧の右端にある「ビルド実行」アイコンをクリックするか、Job画面の「ビルド実行」をクリックします。
ビルドは成功したでしょうか?

ビルドが完了すると、Job画面の左側に「PMD警告」リンクが表示されます。また、FlexPMDを複数回実行すると、Job画面に「PMD警告の推移」が表示されます。

PMD警告

ここでは56回目のビルドから警告が4つ出ており、57回目でも引き続き警告が4つ出ています。

「PMD警告」リンクをクリックすると、より詳細な情報が表示されます。

PMD警告レポート

さらにリンクをたどれば、どのソースコードのどこで警告が出ているのかも見ることができます。

最後に

今回はJenkinsでFlexPMDを実行する手順について説明しました。Jenkinsはプロジェクトの作業を効率化するための非常に強力なツールです。うまく活用して、楽しいシステム開発生活を送りたいですね!