Edited at

Xcode 9のBotでpod installする方法(小ネタ)

More than 1 year has passed since last update.


Xcode 9 + Xcode Server

Xcode 9でのCI (Continuous Integration) がかなりこなれてきたということで、試しにローカルでBotを立ててみました。

従来別途macOS Serverアプリ(OS X Serverとも呼ばれてた?)が必要だったXcode Serverが、Xcode 9に統合されてるのがよいですね。

設定方法は他の方がすでに記事を書いておられますので、参考にしましょう。


Bot上でpod installを実行

で、今回困ったのはCocoaPodsをコマンドラインで実行するところでした。

というのも、今回対象のリポジトリにはCocoaPodsでインストールされるファイルを入れないという方針だったので、リポジトリからcloneした後は必ず pod install を実行してやる必要があったのです。

色々試した挙句、結局以下のようなBotの設定で pod install をビルド前に実行することができました。


  1. ⌘9 でReport Navigatorを表示し、Botを選択(マシン名の下に隠れているかも)

  2. 右上の Edit Bot... ボタンを押す

  3. Triggers タブを選択

  4. 左下の+ボタンを押し「Pre-Integration Script」を選択

  5. 適当に名前をつけて、右側のエディタ部分に以下を入力

#!/bin/sh

cd "${XCS_PRIMARY_REPO_DIR}" # リポジトリのディレクトリに移動

if [ ! -e Pods ] ; then # Podsディレクトリが存在しなければ
/usr/local/bin/pod install # pod installを実行。フルパスじゃないとダメっぽい。
fi

参考記事: Pod Install in XCode Bots Trigger

6. Done を押して完了


以上、何かしらの助けになれば幸いです!