Last active
August 29, 2015 14:05
-
-
Save nolili/122c5a524761dbbf613d to your computer and use it in GitHub Desktop.
Travis CI メモ
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Travis CI メモ | |
| オープンソース向けのCIツール | |
| githubからソースをpull、スクリプトを動作させ、結果を通知する。 | |
| Xcodeのプロジェクトがビルドできる。(OS XのVMが走っている?未確認) | |
| Publicリポジトリであれば無料。 | |
| https://travis-ci.org | |
| Privateリポジトリを扱う場合は、有料のプラン契約が必要。 | |
| 月額129USD(13000JPY程度) | |
| どのような処理を行うかは、リポジトリのルートに.travis.ymlファイルを作成して定義する。 | |
| プラットフォーム・言語、ビルド前のスクリプト、ビルドスクリプト、ビルド後のスクリプトを定義する。 | |
| iOSのアプリをビルドするには、秘密鍵、証明書、プロビジョニング・プロファイルが必要だが、これらのファイルをリポジトリにaddしてpushすると、公開されてしまい、非常に危険。 | |
| また、ビルドログも公開されてしまうので、扱いに注意が必要。 | |
| 公開されたくない文字列(秘密鍵のパスワード、APIキー、サーバのパスワードなど)は、travis encryptコマンドを使用して、暗号化する。 | |
| https://github.com/travis-ci/travis.rb#encrypt | |
| また、公開したくないファイルは同様にtravis encrypt-file コマンド、またはopensslを使用して暗号化する。 | |
| https://github.com/travis-ci/travis.rb#encrypt-file | |
| iOSアプリのビルド自動化は簡単ではない。シェルの操作、ビルドスクリプト、公開鍵/秘密鍵など複数の知識が必要になる。 | |
| 現在使用しているスクリプト | |
| ビルド前のスクリプト | |
| 暗号化したプロビジョニング・プロファイル、秘密鍵、公開鍵を復号する。 | |
| 復号したファイルをキーチェーンに登録する。また、プロビジョニング・プロファイルをライブラリに追加する。 | |
| キーチェーンは3600秒経過後、破棄する。 | |
| ビルドスクリプト | |
| アプリをリリース構成でビルドする。ターゲットはiOS Devicesにする。 | |
| ビルドにはxctool(Facebookが配布しているxcodebuildのwrapper)を使用する。 | |
| - xctool -workspace HelloCI.xcodeproj/project.xcworkspace -scheme HelloCI sdk iphoneos | |
| -configuration Release OBJROOT=$PWD/build SYMROOT=$PWD/build ONLY_ACTIVE_ARCH=NO | |
| ビルド後のスクリプト | |
| dSYMファイル(デバッグ・シンボル)をzipに固める。 | |
| appファイルにプロビジョニング・プロファイルを埋め込み、ipaファイルを生成する。 | |
| TestflightにipaとdSYMをアップロードする。TestflightのAPIキーは暗号化しておく。 | |
| Yoを送る。YoのAPIキーは暗号化しておく。 | |
| 通知 | |
| Hipchatに通知を送信する。 | |
| Hipchatのチャットルーム、APIキーは暗号化しておく。 | |
| travis encrypt api_token@room_name --add notifications.hipchat.rooms | |
| 学習用に作ったリポジトリ | |
| https://github.com/nolili/HelloCI | |
| 参考URL | |
| Travis CI for iOS | |
| http://www.objc.io/issue-6/travis-ci.html | |
| Configuring Build Notifications | |
| http://docs.travis-ci.com/user/notifications/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment