現代の開発現場において欠かせないCI/継続的デリバリを、iOSアプリ開発に適用するためのツールやノウハウを解説する連載。今回は、CIツールJenkinsのインストールと使い方、プラグインを用いたiOSアプリのビルド、テスト、カバレッジの出力、ソースコードの静的解析を自動化する方法を解説します。
前回の「Kiwi+CocoaPodsで始めるiOSアプリの振る舞いテスト入門」では、「Kiwi」を使った機能の振る舞いテストについて解説しました。
今回は、CI/継続的デリバリの要とも言えるCIツール「Jenkins」のインストールと使い方、プラグインを用いたiOSアプリのビルドの方法を解説します。本稿では、Jenkinsを使って次の作業を自動化します。
まずは、各ツールをインストールしましょう。本稿では、(Mac)OS Xのパッケージ管理システムである「Homebrew」を使ってインストールします。Homebrewは(Mac)OS Xへのソフトウェアのインストールを単純化してくれるツールです。また、Jenkinsで実行したい処理に必要なツールも併せてインストールしましょう。
始めに、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はgcc(Cコンパイラー)などが含まれているソフトウェアです。インストールするには、以下のコマンドを実行してください。
$ xcode-select --install
コマンドを実行すると、以下のダイアログが表示されます。画面の手順に従ってインストールしてください。
次に「Gcovr」をインストールしておきます。GcovrはXcodeが出力するコードカバレッジファイルをXML形式に変換するツールです。Jenkinsでテストのカバレッジを表示するために必要となります。以下のコマンドを実行してください。
$ easy_install gcovr
これでGcovrが利用できるようになりました。
次に「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をインストールしましょう。以下のコマンドを実行してください。
$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
インストールが終わったら、doctorコマンドを実行しておきましょう。doctorコマンドは、Homebrewの動作環境に不備がないか診断してくれる便利なコマンドです。以下のコマンドを実行してください。
$ brew doctor
問題がある場合はメッセージと対処コマンドが表示されるので、その手順に従って問題を解決するようにしましょう。
いよいよ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
次に、JenkinsがOSの起動時に自動起動するように設定しましょう。以下のコマンドを実行してください。
$ ln -sfv /usr/local/opt/jenkins/*.plist ~/Library/LaunchAgents $ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
これでJenkinsの自動起動の設定が完了しました。
最後に、以下のコマンドを実行してJenkinsを起動してみましょう。
$ launchctl start homebrew.mxcl.jenkins
ブラウザーで「http://127.0.0.1:8080」にアクセスしてください。以下のようなJenkinsのダッシュボード画面が表示されるはずです。
Copyright © ITmedia, Inc. All Rights Reserved.