検索
連載

Jenkinsでビルド・テスト・カバレッジ出力・コード静的解析を自動化するiOSアプリ開発でもCI/継続的デリバリしようぜ(3)(2/4 ページ)

現代の開発現場において欠かせないCI/継続的デリバリを、iOSアプリ開発に適用するためのツールやノウハウを解説する連載。今回は、CIツールJenkinsのインストールと使い方、プラグインを用いたiOSアプリのビルド、テスト、カバレッジの出力、ソースコードの静的解析を自動化する方法を解説します。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

コラム「Jenkinsのポートの変更」

 Jenkinsのインストール時の設定ではポートは8080番で起動します。ポートが他に起動しているサーバーとバッティングしているなどの理由で、任意のURLやポートを割り当てたい場合は「~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist」を編集して起動設定を変更しましょう。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/
DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>homebrew.mxcl.jenkins</string>
    <key>ProgramArguments</key>
    <array>
      <string>/usr/bin/java</string>
      <string>-Dmail.smtp.starttls.enable=true</string>
      <string>-jar</string>
      <string>/usr/local/opt/jenkins/libexec/jenkins.war</string>
      <string>--httpListenAddress=127.0.0.1</string>
      <string>--httpPort=<任意のポート番号></string>
    </array>
    <key>RunAtLoad</key>
    <true/>
  </dict>
</plist>

 編集後は以下のコマンドを実行し、Jenkinsを再起動するようにしましょう。

$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist

Jenkinsのダッシュボードから5つのプラグインをインストール

 次に、JenkinsでiOSアプリのビルドやテストを実行するために必要なプラグインをインストールしましょう。

 Jenkinsのプラグインをインストールするには、ダッシュボード画面の左側に表示されているメニューから[Jenkinsの管理]を選択し、[プラグインの管理]を開きます。この画面では、利用可能なプラグインのインストールやインストール済みのプラグインの確認とアップデートなどが行えます。

 [利用可能]タブを開き、プラグインを選択し[再起動せずにインストール]をクリックしてインストールします。上部の検索バーにインストールしたいプラグインの名称を入力すると、目的のプラグインをすぐに探し出せます。


図3 Jenkinsのプラグイン管理

 今回必要になるのは以下のプラグインです。

【1】Git Plugin

 Gitリポジトリからソースコードをcloneするために必要なプラグインです。対象とするリポジトリやブランチを指定できます。

【2】Xcode Plugin

 Xcodeプロジェクトのビルドやテストを実行するために必要なプラグインです。Xcodeに付属している「xcodebuild」というXcodeプロジェクトをビルドするためのコマンドラインツールの各コマンドを実行し、ビルドやテストを実行してくれます。

【3】CocoaPods Plugin

 CocoaPodsのコマンドを実行するプラグインです。「pod install」などのコマンドを実行できます。とはいえ、ビルドに必要なコマンドは多くないので、問題がある場合やカスタマイズしたい場合は、プラグインを入れずにシェルで記述しても問題ありません。

【4】Cobertura Plugin

 テストのコードカバレッジ(テストの網羅率)を解析するためのプラグインです。コードカバレッジをJenkinsのダッシュボードにグラフィカルに表示できます。

【5】PMD Plugin

 OCLintによるソースコードの静的解析の結果を表示するためのプラグインです。問題のありそうなソースコードがないか解析することが容易になります。

Xcodeプロジェクトの設定の変更

 Jenkinsのインストールと必要なプラグインのインストールが完了したところで、前回作成したプロジェクト「KiwiSample」を対象に、Debugのスキームを対象にしたジョブを作成してみましょう。

 なお、対象とするプロジェクトのソースコードを公開していますので、必要な方は以下からダウンロードしてください。

 XcodeプロジェクトをJenkinsでビルド/テストするためには、Xcodeプロジェクトの設定を一部変更する必要があります。まずXcodeでワークスペースを開き、メニューの[Product]→[Scheme]→[Manage Schemes…]を選択し、Schemeの管理画面を開きます。この中の「KiwiSample」の[Shared]にチェックを入れます。こうすることでSchemeをリポジトリに共有できるようになります。


図4 Schemeの共有の設定

 次に、プロジェクト設定の[Build Settings]の中にある「Generate Test Coverage Files」と「Instrument Program Flow」を[Yes]に変更してください。こうすることで、テストのカバレッジファイルが書き出されるようになります。


図5 テストカバレッジの設定

Jenkinsのジョブを作成

 Jenkinsのジョブを作成するには、ダッシュボード画面の左メニューから[新規ジョブ作成]をクリックし、新規ジョブ作成画面を開きます。ジョブ名に「KiwiSample-develop」と入力し、[フリースタイル・プロジェクトのビルド]を選択して[OK]をクリックします。


図6 新規ジョブ作成画面

 次に、ジョブの設定画面が表示されます。ここでは、ジョブの対象となるリポジトリや、ジョブがどのようなビルドを実行するか、ビルド実行後にどのような処理を行うかといったようなジョブの詳細を設定します。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る