Submit Search
Upload
バージョンアップ対応を軽減するサービス:マスティフ
•
Download as PPTX, PDF
•
0 likes
•
1,894 views
Toshiyuki Hirata
Follow
AKIBA.swift 1周年記念(2017/4/17)で発表した資料です。 SWETで作成しているバージョンアップの対応を軽減するためのサービスであるマスティフの話です。
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 15
Download now
Recommended
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
Shunsuke Maeda
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
Toshiyuki Hirata
2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情
Toshiyuki Hirata
iOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進める
Shunsuke Maeda
Bluepillを使ったiOS自動テストの並列化
Bluepillを使ったiOS自動テストの並列化
Toshiyuki Hirata
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化
Shunsuke Maeda
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法
Toshiyuki Hirata
iOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめよう
Toshiyuki Hirata
Recommended
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
Shunsuke Maeda
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
Toshiyuki Hirata
2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情
Toshiyuki Hirata
iOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進める
Shunsuke Maeda
Bluepillを使ったiOS自動テストの並列化
Bluepillを使ったiOS自動テストの並列化
Toshiyuki Hirata
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化
Shunsuke Maeda
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法
Toshiyuki Hirata
iOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめよう
Toshiyuki Hirata
fastlane x iOSアプリのCI
fastlane x iOSアプリのCI
Toshiyuki Hirata
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
Toshiyuki Hirata
iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境
Toshiyuki Hirata
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -
Toshiyuki Hirata
iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介
Shunsuke Maeda
バージョンアップの対応を軽減するためのサービスの構築
バージョンアップの対応を軽減するためのサービスの構築
Toshiyuki Hirata
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
Kazuaki KURIU
DeNAにおけるSWETの役割
DeNAにおけるSWETの役割
Toshiyuki Hirata
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Android
Toshiyuki Hirata
DroidKaigi_devicefarm
DroidKaigi_devicefarm
Shunsuke Maeda
Android e2e testing at mercari
Android e2e testing at mercari
Vishal Banthia
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえる
Toshiyuki Hirata
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみた
Toshiyuki Hirata
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
Toshiyuki Hirata
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
gree_tech
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
Kouhei Sutou
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
gree_tech
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in Test
Masaki Nakagawa
OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話
司 知花
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Yahoo!デベロッパーネットワーク
グリーにおけるスマホアプリ開発~HTML5編
グリーにおけるスマホアプリ開発~HTML5編
Mitsuhiro Tanda
More Related Content
What's hot
fastlane x iOSアプリのCI
fastlane x iOSアプリのCI
Toshiyuki Hirata
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
Toshiyuki Hirata
iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境
Toshiyuki Hirata
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -
Toshiyuki Hirata
iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介
Shunsuke Maeda
バージョンアップの対応を軽減するためのサービスの構築
バージョンアップの対応を軽減するためのサービスの構築
Toshiyuki Hirata
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
Kazuaki KURIU
DeNAにおけるSWETの役割
DeNAにおけるSWETの役割
Toshiyuki Hirata
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Android
Toshiyuki Hirata
DroidKaigi_devicefarm
DroidKaigi_devicefarm
Shunsuke Maeda
Android e2e testing at mercari
Android e2e testing at mercari
Vishal Banthia
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえる
Toshiyuki Hirata
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみた
Toshiyuki Hirata
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
Toshiyuki Hirata
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
gree_tech
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
Kouhei Sutou
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
gree_tech
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in Test
Masaki Nakagawa
OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話
司 知花
What's hot
(20)
fastlane x iOSアプリのCI
fastlane x iOSアプリのCI
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -
iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介
バージョンアップの対応を軽減するためのサービスの構築
バージョンアップの対応を軽減するためのサービスの構築
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
DeNAにおけるSWETの役割
DeNAにおけるSWETの役割
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Android
DroidKaigi_devicefarm
DroidKaigi_devicefarm
Android e2e testing at mercari
Android e2e testing at mercari
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえる
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみた
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in Test
OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話
Similar to バージョンアップ対応を軽減するサービス:マスティフ
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Yahoo!デベロッパーネットワーク
グリーにおけるスマホアプリ開発~HTML5編
グリーにおけるスマホアプリ開発~HTML5編
Mitsuhiro Tanda
Introduction to Visual Studio App Center
Introduction to Visual Studio App Center
Takeshi Fujimoto
Trac Plugin Developement with Jenkins
Trac Plugin Developement with Jenkins
Takahisa Wada
Cephベンチマーク kvm
Cephベンチマーク kvm
Toshimi Kawabata
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
Yahoo!デベロッパーネットワーク
AndApp開発における全て #denatechcon
AndApp開発における全て #denatechcon
DeNA
XPagesDay 2014 - What's new in XPages NOW!
XPagesDay 2014 - What's new in XPages NOW!
Atsushi Sato
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
Shinji Takao
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
Yahoo!デベロッパーネットワーク
Chefで始めるWindows Server構築
Chefで始めるWindows Server構築
Takashi Kanai
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
Amazon Web Services Japan
OSSで作るOpenStack監視システム
OSSで作るOpenStack監視システム
satsuki fukazu
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
Atsuhiro Kubo
楽天がCloud foundryを選んだ理由
楽天がCloud foundryを選んだ理由
Rakuten Group, Inc.
devsami kansai 2012 #c2
devsami kansai 2012 #c2
Yushi_Takagi
大規模環境のOpenStackアップグレードの考え方と実施のコツ
大規模環境のOpenStackアップグレードの考え方と実施のコツ
Tomoya Hashimoto
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天
Hiro Yoshioka
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Path
dynamis
July techfesta2014 f30
July techfesta2014 f30
Motoki Kakinuma
Similar to バージョンアップ対応を軽減するサービス:マスティフ
(20)
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
グリーにおけるスマホアプリ開発~HTML5編
グリーにおけるスマホアプリ開発~HTML5編
Introduction to Visual Studio App Center
Introduction to Visual Studio App Center
Trac Plugin Developement with Jenkins
Trac Plugin Developement with Jenkins
Cephベンチマーク kvm
Cephベンチマーク kvm
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
AndApp開発における全て #denatechcon
AndApp開発における全て #denatechcon
XPagesDay 2014 - What's new in XPages NOW!
XPagesDay 2014 - What's new in XPages NOW!
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
Chefで始めるWindows Server構築
Chefで始めるWindows Server構築
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
OSSで作るOpenStack監視システム
OSSで作るOpenStack監視システム
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
楽天がCloud foundryを選んだ理由
楽天がCloud foundryを選んだ理由
devsami kansai 2012 #c2
devsami kansai 2012 #c2
大規模環境のOpenStackアップグレードの考え方と実施のコツ
大規模環境のOpenStackアップグレードの考え方と実施のコツ
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Path
July techfesta2014 f30
July techfesta2014 f30
More from Toshiyuki Hirata
iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測
Toshiyuki Hirata
iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測
Toshiyuki Hirata
iOSにおける自動テストの並列化
iOSにおける自動テストの並列化
Toshiyuki Hirata
UIテスト(Espresso)の高速化をさらにすすめる
UIテスト(Espresso)の高速化をさらにすすめる
Toshiyuki Hirata
UIテストの実行時間を短縮させる方法
UIテストの実行時間を短縮させる方法
Toshiyuki Hirata
我が家のLINEを中心とした情報共有
我が家のLINEを中心とした情報共有
Toshiyuki Hirata
レビューのコストを削減するための施策
レビューのコストを削減するための施策
Toshiyuki Hirata
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
Toshiyuki Hirata
More from Toshiyuki Hirata
(8)
iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測
iOSにおける自動テストの並列化
iOSにおける自動テストの並列化
UIテスト(Espresso)の高速化をさらにすすめる
UIテスト(Espresso)の高速化をさらにすすめる
UIテストの実行時間を短縮させる方法
UIテストの実行時間を短縮させる方法
我が家のLINEを中心とした情報共有
我が家のLINEを中心とした情報共有
レビューのコストを削減するための施策
レビューのコストを削減するための施策
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
Recently uploaded
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Recently uploaded
(8)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
バージョンアップ対応を軽減するサービス:マスティフ
1.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. AKIBA.swift 1周年記念 iOS Test Night枠 2017/04/17(Mon) 平田敏之@DeNA バージョンアップの対応を 軽減するためのサービス(マスティフ)の構築
2.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 自己紹介 平田 敏之@DeNA ⁃ SWET (Software Engineer in Test) • 事業サポートチーム / テスト基盤チーム • ミッション ⁃ DeNAサービス全般の品質向上 ⁃ DeNAエンジニアの開発生産性向上 ⁃ 私がやっていること(の一部) • クライアントアプリ周りのテスト戦略、自動テストの開発 • CI/CD環境整備 • テスト基盤環境の開発 • iOS Test Nightの主催
3.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 今日の発表の流れ はじめに ⁃ バージョンアップ対応の大変さについて マスティフの構築について システム構成 iOSアプリにおける動作確認について おわりに
4.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. はじめに バージョンアップ対応で苦労した経験はありませんか? ⁃ Xcode、利用しているライブラリなど こんな経験はありませんか? ⁃ 新バージョンへの移行時のコスト見積もりが難しいので先延ばし • バージョンアップしてみたらビルドすら通らなかった ⁃ バージョンを固定化していたのに動かなくなった • fastlane/spaceshipとか使っているとあったり(Apple側の改修で..) ⁃ いつバージョンがあがるか(あがったか)は分からない • 気づいたときにバージョンアップをしてみる ここにかかるコストを減らしたい
5.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. バージョンアップの対応を軽減するためのサービスの構築 やりたいこと ⁃ 利用ライブラリがバージョンアップしたら動作確認をする • 対処が必要かを早めに分かるようにしたい • ビルド時間、ファイルサイズなどの変化をしりたい ⁃ 既存ライブラリが問題なく動くことを定期的に動作確認する • 使えなくなったことを早めに知りたい • → dailyで動作確認を実行すれば良い バージョンアップ検知の対象(for iOS) ⁃ Gemfile ⁃ CocoaPods ⁃ Carthage ⁃ Xcode マスティフ
6.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 本サービス名:マスティフ SWETで開発しているサービスは犬の名前がついています。 ⁃ 本サービス名:マスティフ ⁃ 他のサービス:ポメラニアン • テスト結果の集計と集計結果を使った機能をプラグイン的に追加できる ツール ⁃ 利用例:テスト結果の整理とテストの並列実行の割り振り • 今までのテスト結果を元にどのように並列して実行するかを決めてくれる
7.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. システム構成(おおまかに) 全体管理 バージョンチェック 動作確認 結果管理 digdag Jenkins slack 作成中 モバイルアプリ (iOS / Android) このバージョンで 動作確認してください あなた自身(Xcodeとか)を バージョンアップしてください ・ファイルサイズ ・ビルド時間 などを管理し公開する
8.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. マスティフの想定する利用のされ方 1) SWETが用意したアプリによる動作確認の結果を確認 ⁃ メリット • 各ライブラリやXcodeのバージョンによる差異がわかる ⁃ ビルド時間の差、ファイルサイズの差 ⁃ 該当バージョンのライブラリが問題なく利用できるかどうか ⁃ 不足点 • 自分たちが使っているライブラリが対応されているとは限らない • ライブラリの使い方が同じとは限らない 2) 自分たちのアプリに組み込む ⁃ 導入コストはかかるがやりたいことが出来る
9.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. iOSアプリにおける動作確認(1/2) サンプルアプリ(SWET製) ⁃ 言語:Swift 3 ⁃ ビルド、テストの実行等 • fastlane ⁃ 機能(の一部) • Firebase Realtimeを使った チャット • Realmを使ったフォーム画面 ⁃ ライブラリ管理 • CocoaPods • Carthage ⁃ 自動テスト • UIテスト ⁃ XCUITest ⁃ EarlGrey ⁃ fastlane/snapshot マスティフ(太字が自分たちで用意するもの) action_mapping.yml ライブラリに対してどのlane を実行するかの定義書 versionファイル どのversionを使っているか が書かれたファイル fastlane関係 MastiffFastlane overrideと独自のlaneが 書かれている 独自action(plugin化予定) Podfile/Gemfile/Cartha ge/Carthage.privateの 更新 実行するlaneを決定
10.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. iOSアプリにおける動作確認(2/2) fastlaneを活用 ⁃ Fastfile周り • 別のFastfileを読み込む事が可能(import / import_from_git) ⁃ import “./MastiffFastfile” ⁃ これによりマスティフに必要なlaneが追加される • 既存laneのoverrideが可能 ⁃ before_allの上書き ⁃ override_laneによるlaneの上書き ⁃ 独自action • (1) ライブラリに応じて実行するlane(1以上)を決める • (2) ライブラリのバージョン情報を更新する 参考:https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Advanced.md 既存アプリにも少ない工数で導入は可能
11.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. バージョンアップ時の動作確認のフロー 最新のバージョンで 動作確認 結果 1つ前のバージョンで 動作確認最新のバージョンに 更新 成功 失敗 対象ライブラリに応じて 動作確認が変わる 失敗 → 原因を特定したい 前のバージョンで動作確認 成功 → このバージョンアップに何かあるかもしれない 失敗 → このバージョンアップとは別の原因があるかもしれない 対象ライブラリの バージョンアップ ライブラリは リポジトリ管理
12.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. Xcodeのバージョンアップと動作確認 前提: ⁃ ビルドマシンとしてJenkinsを利用 • クラウドだと最新のXcodeがいつ使えるか不明のため ⁃ Application Detector Plugin(SWET製)を利用 • 複数バージョンのアプリケーションを扱うためのプラグイン フロー: Xcodeのバージョンアップチェック Xcodeをビルドマシンにインストール ビルドマシンで動くJenkins(slave)を一旦切断 ⁃ Pluginの仕様の関係 (自動化対応中) 新しいXcodeで動作確認をおこなう
13.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. Application Detector Pluginとは? 複数のXcodeバージョンの扱いを簡単にするplugin ⁃ インストールされているXcodeのバージョンに基づきlabelを付与 ⁃ ビルドパラメータとしてXcodeのバージョンを指定可能 Jenkinsの構成例 ⁃ Master ⁃ slave1(mac) / label: Xcode8.1 • Xcode8.1 ⁃ slave2(mac) / label: Xcode8.2 Xcode8.3.1 • Xcode8.2 • Xcode8.3.1 実行 ⁃ ビルドパラメータ:Xcode8.3.1と指定 ⁃ slave2でjobが実行される
14.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 実行結果 Slack通知 動作確認内容 fastlaneのreport.xmlとして出力 毎日動く現行バージョンの動作確認 バージョンアップ時に動く新バージョンの動作確認
15.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. さいごに バージョンアップ(等)に伴う苦労を軽減するサービスを実装中です。 ⁃ バージョンアップ時に必要な対策情報も随時公開していく予定。 ⁃ 各機能(サービス)に関しては随時公開していく予定。 In the Future Work(の一部) ⁃ 1. 端末のOSバージョンも対象へ ⁃ 2. エラーログの解析 ⁃ 3. OSS化
Download now