連載
» 2014年05月23日 18時00分 UPDATE

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

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

[諏訪悠紀,アンダースコア]
「iOSアプリ開発でもCI/継続的デリバリしようぜ」のインデックス

連載目次

 前回の「Kiwi+CocoaPodsで始めるiOSアプリの振る舞いテスト入門」では、「Kiwi」を使った機能の振る舞いテストについて解説しました。

 今回は、CI/継続的デリバリの要とも言えるCIツール「Jenkins」のインストールと使い方、プラグインを用いたiOSアプリのビルドの方法を解説します。本稿では、Jenkinsを使って次の作業を自動化します。

  • iOSアプリのビルド
  • iOSアプリのテスト
  • テストのカバレッジ(網羅率)の出力
  • ソースコードの静的解析

 まずは、各ツールをインストールしましょう。本稿では、(Mac)OS Xのパッケージ管理システムである「Homebrew」を使ってインストールします。Homebrewは(Mac)OS Xへのソフトウェアのインストールを単純化してくれるツールです。また、Jenkinsで実行したい処理に必要なツールも併せてインストールしましょう。

各ツールのインストール

Javaのインストール

 始めに、Javaをインストールしましょう。ターミナルを開き、以下のコマンドを実行してください。

$ java -version

 Javaがインストール済みであれば、以下のようにインストールされているJavaのバージョン番号が表示されます。

java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)

 未インストールであればインストールの確認ダイアログが表示されるので、画面の手順に従ってインストールしてください。

Command Line Toolsのインストール

 次に「Command Line Tools」をインストールしましょう。Command Line Toolsはgcc(Cコンパイラー)などが含まれているソフトウェアです。インストールするには、以下のコマンドを実行してください。

$ xcode-select --install

 コマンドを実行すると、以下のダイアログが表示されます。画面の手順に従ってインストールしてください。

ios_ci_cd3_01.jpg 図1 Command Line Toolsのインストール確認ダイアログ

Gcovrのインストール

 次に「Gcovr」をインストールしておきます。GcovrはXcodeが出力するコードカバレッジファイルをXML形式に変換するツールです。Jenkinsでテストのカバレッジを表示するために必要となります。以下のコマンドを実行してください。

$ easy_install gcovr

 これでGcovrが利用できるようになりました。

OCLintのインストール

 次に「OCLint」をインストールします。OCLintはObjective-Cの静的解析ツールです。Xcodeに標準搭載されている「Clang」よりも強力な解析を行ってくれます。OCLintを利用できるようにするためには、以下のコマンドを実行してください。

$ curl -O http://archives.oclint.org/nightly/oclint-0.9.dev.6a4451b-x86_64-
$ darwin-12.4.0.tar.gz
$ tar xvf oclint-0.9.dev.6a4451b-x86_64-darwin-12.4.0.tar.gz
$ mv oclint-0.9.dev.6a4451b /usr/local/oclint

 これでOCLintが利用できるようになりました。なお、ディレクトリは「/usr/local/oclint」としていますが、好みで変更してください。

HomebrewでJenkinsの環境構築

Homebrewのインストール

 次に、Homebrewをインストールしましょう。以下のコマンドを実行してください。

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

 インストールが終わったら、doctorコマンドを実行しておきましょう。doctorコマンドは、Homebrewの動作環境に不備がないか診断してくれる便利なコマンドです。以下のコマンドを実行してください。

$ brew doctor

 問題がある場合はメッセージと対処コマンドが表示されるので、その手順に従って問題を解決するようにしましょう。

Jenkinsのインストール

 いよいよJenkinsのインストールです。以下のコマンドを実行してください。

$ brew install jenkins

 以下のようなメッセージが表示されればJenkinsのインストールは完了です。

==> Downloading http://mirrors.jenkins-ci.org/war/1.549/jenkins.war
########################################################################
100.0%
==> Caveats
Note: When using launchctl the port will be 8080. !
To reload jenkins after an upgrade:
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
==> Summary
/usr/local/Cellar/jenkins/1.549: 3 files, 64M, built in 4.2 minutes

OS起動時にJenkinsが自動起動する設定

 次に、JenkinsがOSの起動時に自動起動するように設定しましょう。以下のコマンドを実行してください。

$ ln -sfv /usr/local/opt/jenkins/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist

 これでJenkinsの自動起動の設定が完了しました。

Jenkinsの起動確認

 最後に、以下のコマンドを実行してJenkinsを起動してみましょう。

$ launchctl start homebrew.mxcl.jenkins

 ブラウザーで「http://127.0.0.1:8080」にアクセスしてください。以下のようなJenkinsのダッシュボード画面が表示されるはずです。

ios_ci_cd3_02.jpg 図2 Jenkinsのダッシュボード画面
       1|2|3|4 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

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

メールマガジン登録

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