まずは難しい事を考えずに、一度JenkinsからXcodeを使ってプロジェクトをビルドしてみましょう。Jenkinsを使ってiOSアプリをビルドするには、最初にいくつか設定をする必要があります。
必要なもの
最新のXcode
最新版のXcodeが必要です。ちなみに、JenkinsはXcode.appではなくxcodebuildコマンドを使ってiOSアプリケーションをビルドします。xcodebuildはXcodeをインストールすると使えるようになるコマンドです。
プロビジョニング類
実機用のビルドを行うには、通常の実機用ビルド同様、ビルドに使うProvisioningファイル類(秘密鍵・証明書・プロビジョニングファイル)が必要です。シミュレータでテストを行うだけであればこれらはなくても大丈夫です。
プラグイン
シェルスクリプトでビルド用のコマンドを書いてもよいのですが、プラグインを使うと設定が楽になります。Gitプラグインをインストールしたのと同じ方法で、Xcodeのプラグイン(XCode integration)をインストールしましょう。Xcodeの表記が間違っている気がしますが、気にしないでおきましょう。
※2012.05.16追記: 最新版ではXcode Pluginという名前になっているようです。
Xcodeでビルドを行う
XCode integrationプラグインをインストールすると、ジョブの中に「Xcodeを使ってプロジェクトをビルドする」手順を追加することができます。
ジョブの設定画面を開いたら、「ビルド」セクションの「ビルド手順の追加」メニューから「XCode」を選びましょう。ビルド手順が追加されると、設定項目が表示されます。
各項目については、今後いろいろ試していく中で触れていくとして、どのプロジェクトをビルドする際でも共通で気をつけておくべき点を下記に記しておきます。
Xcode Project Directory
プロジェクトファイルがレポジトリ直下にある場合は空欄でかまいませんが、特定のディレクトリの下にある場合はそのディレクトリ名を指定する必要があります。また、プロジェクトが複数ある場合は、この項目かXcode Project File項目で指定してやる必要があります。Xcode Project Directoryを指定する場合はレポジトリのルートディレクトリからの相対パスで指定します。
Build output directory
ビルドしたバイナリ等を出力する先のディレクトリです。ここは本来指定しなくてもよいはずなのですが、バグがあるのか空欄にしておくとたまにビルドに失敗してしまう場合があります。ビルドに失敗した場合はここで適当なディレクトリを絶対パスで指定します。
僕の場合は${WORKSPACE}/buildというディレクトリを指定するようにしています。${WORKSPACE}はJenkinsで使える環境変数の一つで、そのジョブの作業ディレクトリ(例: /Users/ユーザ/.jenkins/jobs/MyJob/workspace 等)に置き換わります。環境変数についてはまた後のポストで説明します。
動作確認
設定を保存したら、ビルド実行してログを確認してみましょう。
ログにエラーがでている場合は、プロビジョニングファイルの設定がおかしいか、XCode integrationのビルド手順の設定に問題がある可能性が高いので、確認しましょう。ログに表示されるworkspaceディレクトリをFinderで開くと、Jenkinsが実際にビルドに使用しようとしたXcodeプロジェクトファイルがあるので、それをXcode.appで開いて手動でビルドしてみましょう。そこでも問題がないようであれば、XCode integrationプラグインを使ったビルド手順の設定を再度確認しましょう。
さて、これだけじゃビルド作業、あるいはビルドした成果をなにも有効に活用できていないので、次は具体的にこのビルドをどうやって活用していくのかを考えてジョブを設計していきます。
Jenkinsを使ったiOSアプリビルド自動化5 Xcodeとの連携の基礎 | なんてこったいブログ http://t.co/OpLTiwWQ
これだな http://t.co/JvzyIEKO
“Jenkinsを使ったiOSアプリビルド自動化5 Xcodeとの連携の基礎 | なんてこったいブログ” http://t.co/yHv6HMPyzL
@loveandsheep145 http://t.co/c7rFUQ66Vt