連載
» 2011年04月07日 00時00分 公開

ユカイ、ツーカイ、カイハツ環境!(21):「Hudson」改め「Jenkins」で始めるCI(継続的インテグレーション)入門 (4/4)

[岡本隆史,@IT]
前のページへ 1|2|3|4       

【2】ビルド結果でメールで送信するには

 定期的なビルドを導入すると、ビルド結果をメールで通知してほしくなってきます。Jenkinsはビルドの結果を自動的にメールで送信する機能を持っています。メール送信機能を利用するには、Jenkinsの「システムの設定」とジョブの「設定」を行う必要があります。

 まず、「システムの設定」ですが、Jenkinsのトップページから[Jenkinsの管理]→[システムの設定]を選択します。下の方にある[E-mail通知]画面で、[SMTPサーバー]と[管理者のメールアドレス](送信されたメールアドレスのFrom欄に設定)、[Jenkins URL]を指定します。

図9 システムの設定 図9 システムの設定

 次に、ジョブの画面の「設定」からビルド結果の通知先のメールアドレスを設定します。

図10 LibraryProjectのジョブの設定 図10 LibraryProjectのジョブの設定

 デフォルトの設定では、ビルド・テストに失敗した場合と、ビルド・テストを全て合格して安定したビルドになったときにメールを送信するようになっています。ビルド・テストに問題がない状況が続いた場合は、メールは送信されません。

【3】Windowsサービスとしてインストールには

 Jenkinsのトップから[Jenkinsの管理]→[Windowsのサービスとしてインストール]を選択すると、JenkinsをWindowsのサービスとしてインストールできます。

図11 Windowsサービス 図11 Windowsサービス

 Windowsのサービスとしてインストールすれば、Windowsが起動したときにJenkinsを明示的に起動する必要はなくなりますし、コンソールも表示されなくなります。

Jenkinsを“プラグイン”で拡張して、もっともっと便利に

 前述したように、Jenkinsは“プラグイン”アーキテクチャにより、プラグインでさまざまな機能を追加できます。プラグインの追加は、Jenkinsの管理画面から簡単にできます。

プラグインのインストール・アップデート

 Jenkinsのトップページから、[Jenkinsの管理]→[プラグインの管理]からプラグインマネージャの画面を開きます。ここで、[利用可能]のタブをクリックすると、利用できるプラグイン一覧が表示されます。インストールしたいプラグインにチェックを入れて[インストール]をクリックするだけでプラグインをインストールできます。

図12 プラグインマネージャの画面 図12 プラグインマネージャの画面

 また、プラグインマネージャの[アップデート]からは新しいプラグインが利用できる場合、バージョンアップできます。

 インストールしたプラグインは、Jenkinsを再起動すると、有効になります。Jenkinsを再起動するには、[Jenkinsの起動]というタイトルのコンソールを閉じ、スタートメニューの[Trac]→[Jenkinsの起動]を選択します。Windowsサービスとしてインストールしていれば、Jenkinsサービスを再起動します。

 なお、Webアクセスにプロキシの設定が必要な環境で利用する場合、プラグインマネージャの[高度な設定]からプロキシを設定してください。

Trac Lightningに導入されているJenkins用プラグイン12選

 Jenkinsには、たくさんのプラグインが提供されており、どれを使えばいいか迷ってしまいます。

 Trac Lightningでは、Java開発で使えるプラグインをあらかじめインストールした状態で提供しているので、迷うことなく導入できます。Trac Lightningに同梱しているプラグインは次の通りです。

  1. Static Analysis Utilities:静的コード分析のユーティリティを提供
  2. Checkstyle Plug-in:CheckStyleによるコードチェックの結果を表示
  3. FindBugs Plug-in:FindBugsにより検出されたバグを表示
  4. PMD Plug-in:PMDにより検出されたバグを表示
  5. Duplicate Code Scanner Plug-in:重複したコードを表示:重複したコードを表示
  6. Hudson Violations plugin:静的解析結果の違反からレポートを生成:静的解析結果の違反からレポートを生成
  7. Hudson Emma plugin:Emmaにより、カバレッジの統計を取りる
  8. Dashboard View:ダッシュボードをカスタマイズできる
  9. Hudson Persona Plugin:ジョブの結果表示の画面にペルソナを利用できる
  10. Hudson Edgewall Trac plugin:Tracのプロジェクトへのリンクを張れる
  11. Maven Integraton plugin(Jenkinsに添付):Mavenのプロジェクトをビルド
  12. Subversion Plugin(Jenkinsに添付):Subversionのリポジトリからコードを取得

 プラグインによっては、プラグインを導入しただけでは利用できず、ビルドで生成したファイルを指定する必要があるものもあります。

 例えば、Trac Lightningのサンプルでは、CheckStyle、FindBugs、PMD、PMD-CPD(Copy/Paste Detector)、Emmaの結果をビルド時に出力するようにしています。CheckStyleの設定例を示すと、以下のようになります。

  <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.0-beta-2</version>
<configuration>
<locales>ja</locales>
<reportPlugins>

【略】

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.6</version>
<configuration>
<configLocation>src/conf/sun_checks_eclipse.xml</configLocation>
</configuration>
</plugin>

【略】
LibraryProjectのpom.xmlのCheckStyleの設定(抜粋)

 上記のプラグインによる出力結果をJenkins上で表示する方法は、ジョブの設定から確認できます。

Java以外でも継続的インテグレーションを

 ざっと、サンプルを通してJenkinsで何ができるかを紹介してきました。Jenkinsは継続的インテグレーションを行うツールですが、ビルドの自動化と結果の確認だけでなく、静的解析の結果やカバレッジの履歴のグラフ化など、一世代前の継続的インテグレーションツールに比べ、より高度なことができるようになっています。

 今回は、Javaでの利用をメインに紹介してきましたが、Java以外の言語でも利用できるようになっています。まだ継続的インテグレーションをプロジェクトを導入していない方は、これを機にぜひJenkinsを使ってみてはいかがでしょうか。


「ユカイ、ツーカイ、カイハツ環境!」バックナンバー
前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。