[iOS] Mac OS X に Jenkins 環境を構築して CocoaPods なプロジェクトをビルドする

2014.02.04

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

Jenkins で CocoaPods なプロジェクトをビルド

昨今では iOS アプリ開発でライブラリを扱う場合、CocoaPods を使うというのが定石になっていると思います。 Jenkins でビルドする話はこちらでも解説していますが、Xcode 5 になったのと Xcode Integration Plugin のバージョンアップもあり、手順が少し変わってきているようです。 ということで Mac OS X に Jenkins をインストールして、CocoaPods を使っている iOS アプリプロジェクトをビルドするまでの流れを改めてちょっとまとめてみました。

Jenkins のインストール

まずは Jenkins のインストールです。ここでは Homebrew を使ってインストールします。Homebrew や Git などのインストールについては次の記事を参考にしてください。

Homebrew で作るモダンなフロントエンド開発環境 (Git + zsh + apache + MySQL + Ruby) | Developers.IO

brew install jenkins

Jenkins を起動すると、次のような画面が表示されます。

jenkins01

次にプラグインをインストールします。Git リポジトリにしようと思うので Git Plugin、それから Xcode プロジェクトのビルド用の Xcode Integration Plugin を入れます。「Jenkinsの管理」をクリックし、「プラグインの管理」をクリックします。

jenkins02

「利用可能」タブをクリックし、右上の検索バーに「Xcode」と入力すると Xcode Integration Plugin が現れると思うのでチェックしてインストールします。Git Plugin も同様の手順でインストールしてください。

jenkins03

これで Xcode プロジェクトがビルドできるようになりました。

CocoaPods のインストール

次に CocoaPods をインストールします。まず、CocoaPods は Ruby の gem で提供されているのでその辺をインストールします。rbenv + rubybuild がオススメです。これは次の記事で詳細に解説しています。

rbenvとruby-buildで複数バージョンのrubyをインストール | Developers.IO

Ruby のインストールが終わったら、CocoaPods をインストールしましょう。

gem install cocoapods

Xcode プロジェクトをビルドする

環境が揃ったところで、Xcode プロジェクトをビルドしてみましょう。前提として対象となる CocoaPods を利用している Xcode プロジェクトが必要なので、適当にこしらえておいてください。あと Git のローカルリポジトリにしておくのを忘れずに。

まず Jenkins の作業に移る前に、Project の Schema の設定の修正が必要です。Workspace を開き、メニューから「Product」>「Schemes」>「Manage Schemes...」を選択し、Project の Scheme の Shared にチェックを入れてコミットします。これで xcshareddata の中がコミットされるので Jenkins が Workspace を開けるようになります。

jenkins04

事前準備が終わったので、ジョブを作成します。Jenkins のトップ画面から「新規ジョブ作成」をクリックします。適当なジョブ名をつけて「フリースタイル・プロジェクトのビルド」を選択します。

jenkins05

設定項目が表示されます。まず「ソースコード管理」セクションから「Git」を選択し、リポジトリの URL を入力します。ここではとりあえずローカルのパスを入れてます。

jenkins06

ビルド・トリガは適当に15分毎にポーリングしておきます。

jenkins07

次に「ビルドの手順を追加」から「シェルの実行」を選び、次のように入力します。ただ pod install するだけです。

# ライブラリのインストール
pod install

次に「ビルドの手順の追加」で「Xcode」を選び、Xcode のビルドの設定をいろいろ入力していきます。ここの設定項目は以前の Xcode Integration Plugin から変更があるようです。

jenkins08

変更した点を以下にまとめました。

  • 「Clean before build ?」にチェック
  • 「Pack application and build .ipa?」にチェック
  • 「.ipa filename pattern」を アプリ名-${VERSION}-${BUILD_DATE} を入力
  • 「Xcode Schema File」にアプリ本体の Scheme 名を入力
  • 「Xcode Workspace File」に .xcworkspace を除いた Workspace のファイル名を入力
  • 「Xcode Project File」に .xcproject を除いた Project のファイル名を入力
  • 「Build output directory」に ${WORKSPACE}/build を入力

最後に「成果物を保存」に build/**/*.ipa を入力します。

jenkins09

これでビルドが通るはず!

jenkins10

まとめ

ということで ipa ファイルをビルドするところまでの一番シンプルな手順を書きました。なおリリース用の ipa ファイルを作りたい場合はもう少し設定が必要です。

Xcode 5 から手順が若干変わっているところがハマリポイントだと思うので、この記事を参考に構築してみてください。うまくいかないよ〜っていう人はコメントいただければと思います!

参考