さくせん:いろいろやろうぜ

いろいろなことをやって、楽しみます。

OS X ServerとXcodeのBotsでiOSアプリ開発をCIしてみる

一人開発を嗜んでいますが、暇つぶしがてら少しいじってみたのでメモ。
まずは、OS X Serverをインストール。
昔の勝手な記憶だとサーバーのアプリはお高かったようですが今は2400円。
ただし、Apple Developer に加入しているとタダでインストールができる。
なのでApple Developer Center内のDownload - OS X - Apple Developer でダウンロードをしてインストール。
正確にいうとApple Developerの場合はギフトコードがこのページで取得できる様子であった。

もろもろの設定などは一番下の公式の参考資料を見ればできるので、そちらを参考に。

ここでは特徴をざーっとまとめる

特徴

  • Server.app をインストールした端末にあるXcodeでビルドする
    • ビルドするXcode.app を選択した
  • ローカルのXcodeのプロジェクト上からビルドの命令を飛ばすことができる
  • Gitリポジトリに対応(SVNなどにも対応しているらしい)
  • ビルドのタイミングは、コミット(=push?)、定期的、手動が選べる
  • ビルド後に参照できる情報は、
    • ビルドの成功可否
    • Analyzeによる issue の数
    • Warning数
    • テスト結果
  • バイナリファイルを生成
    • ビルドの前にApple Developer のチームメンバーとしてXcode Server を追加する
      • これはXcode上から自動でできた
  • ビルドのスキーマXcodeのプロジェクトでBots用に設定する
  • ビルドの前と後にスクリプトの実行が可能
    • ここでチャット飛ばしたりできそう
    • デフォルトでメール通知が用意されてはいる
  • Server.appが動いているマシンと同一ネットワークであればブラウザからCIの結果を参照できる
    • 無駄にUIがかっこいい
    • ここからAppStoreへの申請もできる
    • ipaファイルのダウンロードもできる
  • iOS端末からCIの結果ページに行くとそこからバイナリをインストールできる
    • インストールするまえにServer.app の証明書のインストールが必要
    • 青いInstall ボタンを押すと証明書のインストールが促されるので、それに従うとボタンが緑になり、その状態で押すとインストールされる
    • OTAでインストール出来るのは良い
    • TestFlightとは別?未調査

感想

  • 手軽にCIができた
    • CIは環境を作るのが大変なイメージがあったが、これは楽であった。
      • 自宅の環境であったためとも言えるか
  • 細かいチューニングはできない
    • カスタマイズ性ではJenkins優位か
    • 便利スクリプトも全部自作する必要がある

参考資料

以上、メモでした。