Xcode bot

1,470 views
1,246 views

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,470
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
4
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Xcode bot

  1. 1. XCODE BOT @TachibanaKaoru 2014/02/12
  2. 2. 自己紹介 • @TachibanaKaoru • 渋谷のgenesixで働くiOSエンジニアです • ブログ:http://www.toyship.org/ • こんなアプリとか作ってます。
  3. 3. XCODE BOTについて
  4. 4. BOTとは • Apple 公式 CI ツール • Xcode5とMavericksが必要 • Build,Test,Analysis,Archiveができます
  5. 5. BOTでCIしたことがある方は どのくらいいらっしゃいますか?
  6. 6. ……お一人だけでした。 (>人<)
  7. 7. BOTとは BOTのインテグレーション結果はブラウザからだけで はなく、Xcodeの中でも見られます
  8. 8. BOTとは サーバーにデバイスをつないでおくと、UnitTestを実行 してくれます
  9. 9. BOTとは テスト結果が(無駄に)かっこいい
  10. 10. BOTとは BIG SCREENも(無駄に)かっこいい 仕事している気になれます
  11. 11. BOTとは ipaだけではなく、dSYMファイルを含んだArchiveも  インテグレーションごとの生成されます。 Deviceで直接アクセスすると、ここからアプリをイン ストールすることも可能です。
  12. 12. BOT の設定 • 基本的な手順はこの二つ • リポジトリを Xcode serverに設定 • 設定されたリポジトリからBotを作成
  13. 13. BOT の設定 • 1つのBOT は下記の要素があります • リポジトリ (Project Aなど) • ブランチ ( v1.0, developingなど…) • スキーマ (テストのみ,Archiveのみ、など)
  14. 14. BOT の設定 BOTで使うスキーマは、スキーマ管理画面から、ス キーマの公開をすることが必要です。
  15. 15. BOTで困ったとき • おそらく誰もがひっかかるのは、証明書・ Provisioning Profile周辺だと思います。 • Mavericksのバージョンや「これをすれば絶 対大丈夫」という方法はいまいちわかりませ ん。いろいろといじっているうちにできた、 という感じ。
  16. 16. BOTで困ったとき • 次の三つを全部試せばおそらく大丈夫だと 思います。
  17. 17. BOTで困ったとき • 1:Xcode Serverにチームアカウントを登録す る。 • 会社なら会社用Apple ID + password • 個人なら個人用Apple ID + password • 複数のチームを登録することも可能。
  18. 18. BOTで困ったとき • 2:キーチェーンの証明書のコピー • ログインキーチェーンからシステムキー チェーンへ関連証明書を全部コピー • (最新のBotサーバーはここを自動でやっ てくれているような気もします。)
  19. 19. BOTで困ったとき • 3:下記のフォルダーのProvisioning Profileをすべて 下記へコピー • • • from: ~/Library/MobileDevice/Provisioning Profiles/ to: /Library/MobileDevice/Provisioning Profiles/ ただし、chownなどが必要
  20. 20. BOTの良いところ • ipaおよびアーカイブファイルを作ってくれ ます。Provisioning Profileの配布も含めて やってくれます。 • これを自社内で全部できるのはセキュリティ 上Good。
  21. 21. BOTの良いところ • サーバーにつないでおくと、その端末でテス トを走らせてくれます。 • USB Portの数だけ実機でテスト可能。
  22. 22. BOTの良いところ • 将来性がある • (今は全然だめですが、たぶんおそらく) 将来的には自分で証明書やProvisioning Fileの更新と取得をしてくれます。
  23. 23. BOTの悪いところ • iOS、Mac以外には対応しない。 • Androidは無理。
  24. 24. BOTの悪いところ • CocoaPodsは難しそうです。 • Git Submoduleには対応しています。
  25. 25. BOTの悪いところ • CocoaPods対応については、このあたりの Issueにトリックがあるらしい。 • https://github.com/CocoaPods/guides.cocoapods.org/issues/7 • https://github.com/CocoaPods/blog.cocoapods.org/issues/21
  26. 26. BOTの悪いところ • プラグインがない • • コードカバレッジ測定したい…とかは無理 ビルド前後スクリプトも難しい場合がある • 応用がきかない
  27. 27. BOTが向いている人 • あんまりビルドスクリプトたくさん書きたくな い。シンプルにビルドできればいいよ • とにかく簡単にipaを配布したい • CocoaPodsよりSubmoduleが好き • Apple好き
  28. 28. BOTが向いていない人 • ビルドスクリプトバリバリ書くよ • うちAndroidアプリもあるんだよね…… • CocoaPodsなしじゃ生きていけない! • 最近 Apple 大きな顔しすぎじゃね?
  29. 29. 詳しい情報は • もう少し詳しい設定方法をブログに書いてます。 • • http://www.toyship.org/archives/1519 公式情報はこちら • Xcode Continuous Integration Guide • Scheme Configuration Help • Log Navigator Help • https://help.apple.com/advancedserveradmin/mac/3.0/#

×