2014/02/14 デブサミ2014【14-D-5】iOSアプリケーションの継続的デリバリー ~エンタープライズ品質のiOSアプリケーションを目指して~ #devsumiD
- natsu_nanana
- 1483
- 0
- 0
- 1
"クラウドをリリースする" というのはサーバサイドのシステム、プログラムをリリースするという意味でいいのかな?? #devsumiD
2014-02-14 15:26:13iOSアプリのリリーススピード。審査に7日間かかる、ボトルネック。それでもクラウドと同様に継続的にデリバリーできる環境を作る必要がある。実績としては1年間で12回リリースした。リリースのリズムをつくるのが大切。ビジネスの主導権を得るのが目的。 #devsumiD
2014-02-14 15:27:54「コード品質のパイプライン」。ここでは何をもって品質といってるのかな と思ってたら話はじまた >JenkinsでSLOCCount, DRY, Warnings #devsumiD
2014-02-14 15:31:05Xcodeでtreat warnings as errors をONしとくのオススメしたい #devsumiD
2014-02-14 15:31:35コード品質の可視化 ①リリースビルド Installed Jenkins Plugins - Git, Xcode, SLOCCount, DRY, Warnings ②シュミレータにデプロイ、単体結合テスト GHUnit, カバレッジ, テスト集計 #devsumiD
2014-02-14 15:32:49デプロイ:自動でipaファイル作成して、fruitstrapかinstrumentsで複数のデバイスに自動でインストール #devsumiD
2014-02-14 15:34:47テストフレームワークを同梱してビルドして、外からテストフレームワーク経由でアプリを操作 #devsumiD
2014-02-14 15:35:11「テストフレームワーク Frank。HTTPで外部から複数台のiOS端末を操作できる。素晴らしいですよつかってくださいね」 #devsumiD
2014-02-14 15:35:35製品品質のパイプライン "iOS実機での自動テストについてのノウハウを惜しげも無く披露します" fruitstrap or instruments で複数デバイスに自動インストール #devsumiD
2014-02-14 15:35:55「でもiOS7からtouch等の操作API禁止になって実質Frank使ってテストできなくなった。Frankは使い続けたいのでiOS6専用に。」iOS7… #devsumiD
2014-02-14 15:36:24「iOS7用にはCalabash iOSを使うようにした。Calabashはinstruments経由で操作。」「しかしinstrumentsは同時にビルドサーバ1台につき実機1台しか操作できない→ビルドサーバをVMで増やしVM間で操作コマンドやりとり」 #devsumiD
2014-02-14 15:38:13FrankからiOS 7でのタッチ操作ができなくなった → iOS 6専用に。 Calabash iOS で 7の対応。が、instruments は1台にしかいれられない! 仮想マシンでマシンの方を増やし、VM間でアプリ操作コマンドのやりとりを独自実装した #devsumiD
2014-02-14 15:38:3724時間365日、テストは走り続ける。デバイス x OS x ネットワーク環境。ここまでやってエンタープライズ品質 #devsumiD
2014-02-14 15:40:22