狠狠撸

狠狠撸Share a Scribd company logo
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
iOS Creators' Meetup vol.2
2016/10/14(Fri)
平田敏之@DeNA
iOSアプリにおけるリリースフロー
とCI環境
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
自己紹介
? 平田 敏之@DeNA
? 経歴
? GWの開発 → ホムペサービスの開発、iOSアプリの開発 → SWET
? SWET(Software Engineer in Test)
? 事業サポートチーム / テスト基盤チーム
? ミッション
? DeNAサービス全般の品質向上
? DeNAエンジニアの開発生産性向上
? 私がやっていること(の一部)
? クライアントアプリ周りのテスト戦略、自動テストの開発
? CI/CD環境整備
? テスト基盤環境の開発
? iOS Test Night 主催
? http://testnight.connpass.com/event/41323/
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
はじめに
? リリースフローの1サイクルに時間がかかっていませんか?
? (例えば)開発?検証のサイクルに時間がかかっていませんか?
? このサイクル内でコミュニケーションの発生が多くありませんか?
? 色々と手動でやっていませんか?
? CI環境をどこまで導入できていますか?
? 手動で色々やっている箇所がありませんか?
? 開発のメンバーだけが利用していませんか?
? Xcode、Jenkins、BTS、Slackなどを何度も行き来していませんか?
? コンテキストスイッチが発生しまくっていませんか?
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
iOSアプリにおけるリリースフロー(例)
特に(2)のサイクルをいかに「簡単」に「すばやく」まわせるかが大事
? 企画
↓
? (デザイン)
? 開発
? 検証
? iTunes ConnectへのバイナリUpload
↓
? Appleへ審査提出
? 各種データの更新
? Appleの審査
? AppStoreへリリース
? リリース後検証
(1)
(2)
(3)
※これ以外にServerのDeployもあるのが一般的です。
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
CI環境がない世界
開発 検証
iTunes Connect
Archive → Upload to AppStore
(1) 機能実装?修正
(2) Xcodeを使ってアプリを端末にインストール
(3) 検証 / バグがあれば(1)へ
(4) Xcodeを使ってProduct -> Archive
(5) XcodeのOrganizerを使ってUpload to App Store
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
CI環境がある世界
開発 検証 iTunes Connect
upload
deploy
DeployGate / Fabric etc
auto test
SwiftLint
etc
bot
Remote Access API
BTS
mention
mention
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
ざっくりとした流れ
? 開発
? 実装
? (1) 静的解析
? (2) アプリのビルド
? (3) アプリの自動テスト
? (4) コードレビュー(第三者が関わる)
? (1)?(3)までを終えてから
? 検証
? (1) 検証対象となるアプリのインストール
? JenkinsやDeployGateなどからインストール
? (2) バグ報告
? BTSに起票
? iTunes Connectへのupload
? 検証で問題なければリリース候補としてupload
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
CI環境がある場合のリリースフロー (1/2)
? 開発
? 静的解析(SwiftLint etc)
? ここらへんをコードレビューで指摘するのは時間の無駄
? アプリのビルド(fastlane gym)
? ※マシンパワーを良くしてビルド時間を短くする※
? ビルドできないようなものをレビューに出さない
? アプリの自動テスト(XCUITest / EarlGrey / Appium)
? ※並列化などで実行時間を短くする※
? テストが通らないものをレビューに出さない
? アプリのデプロイ(fastlane deploygate etc)
? 容量問題がなければ毎ビルド毎にデプロイしてしまうのが良い
? コードレビュー
? ※一番ヒューマンコストが高いので無駄なことは避ける※
? 設計周りについて相談があれば早めにPull Requestを出す
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
CI環境がある場合のリリースフロー (2/2)
? 検証
? 検証対象のアプリのインストール(DeployGate etc)
? 検証担当者自身でインストール
? バグがあれば指摘(JIRA etc)
? BTSに起票するとSlackで担当者宛にmentionが来る
? 検証終了(fastlane deliver)
? リリース候補版としてiTunes Connectにupload
? bot(またはJenkins)を用いてupload
? 場合によっては、1サイクルの間にいくつもuploadされる
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
CI環境があることによるメリット(の一部)
? 集中するべきものに集中できる。
? コンテキストスイッチは極力少なめに。
? 常に動くアプリが存在する。
? 久しぶりにアプリをビルドしたらできなかったとかは無い。
? アプリを見たい人にすぐ渡すことが出来る。
? 常にある程度の品質を担保した状態になっている。
? ある程度=何をおこなっているか次第
Copyright ? DeNA Co.,Ltd. All Rights Reserved.
まとめ
? リリースフローをいかに「簡単」に「すばやく」まわせるかが大事
? そのためにはCI環境は必須
? CI環境はプロダクトに関わる全ての人にとって必要な環境
? 誰もが利用できるようにするのが良い
? CI環境をしっかりと用意してリリースを楽にしましょう
? CI環境の導入による苦労話(運用コストや属人化)はまた別の話
? これもある程度は軽減できます

More Related Content

What's hot (20)

PPTX
ハ?ーシ?ョンアッフ?対応を軽减するサーヒ?ス:マスティフ
Toshiyuki Hirata
?
PPTX
2017年の颈翱厂アフ?リ开発における颁滨事情
Toshiyuki Hirata
?
PPTX
DroidKaigi_devicefarm
Shunsuke Maeda
?
PPTX
fastlane x iOSアプリのCI
Toshiyuki Hirata
?
PPTX
Xcode10での テスト周りの進化をふりかえる
Toshiyuki Hirata
?
PDF
颈翱厂て?利用て?きるテ?ハ?イスファームのメリット?テ?メリットの绍介
Shunsuke Maeda
?
PPTX
Pull request時の画面差分取得の自動化
Shunsuke Maeda
?
PPTX
fastlane snapshotの並列実行についてまとめてみた
Toshiyuki Hirata
?
PPTX
顿别狈础における厂奥贰罢の役割
Toshiyuki Hirata
?
PPTX
Dangerて?pull requestレヒ?ューの指摘事項を減らす
Shunsuke Maeda
?
PDF
颈翱厂におけるコート?レヒ?ューを一歩先へ进める
Shunsuke Maeda
?
PPTX
础苍诲谤辞颈诲アフ?リ开発のテスト环境
Toshiyuki Hirata
?
PPTX
iOSアフ?リ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
?
PPTX
コート?レヒ?ューをより良くする Danger x Android
Toshiyuki Hirata
?
PPTX
Android e2e testing at mercari
Vishal Banthia
?
PPTX
厂罢贵と础辫辫颈耻尘をもちいた础苍诲谤辞颈诲アフ?リの自动テスト
Toshiyuki Hirata
?
PPTX
JaSST'16 Tokyo モバイルセッション
mirer
?
PPTX
アナザーエデンPC版リリースへの道のり ?WFSにおけるマルチプラットフォーム対応の取り組み?
gree_tech
?
PDF
OpenSTFを ECSに乗せてみた話
司 知花
?
PDF
Jenkins Bootcamp Premiumのご紹介 in デブサミ2016冬
Masanori Satoh
?
ハ?ーシ?ョンアッフ?対応を軽减するサーヒ?ス:マスティフ
Toshiyuki Hirata
?
2017年の颈翱厂アフ?リ开発における颁滨事情
Toshiyuki Hirata
?
DroidKaigi_devicefarm
Shunsuke Maeda
?
fastlane x iOSアプリのCI
Toshiyuki Hirata
?
Xcode10での テスト周りの進化をふりかえる
Toshiyuki Hirata
?
颈翱厂て?利用て?きるテ?ハ?イスファームのメリット?テ?メリットの绍介
Shunsuke Maeda
?
Pull request時の画面差分取得の自動化
Shunsuke Maeda
?
fastlane snapshotの並列実行についてまとめてみた
Toshiyuki Hirata
?
顿别狈础における厂奥贰罢の役割
Toshiyuki Hirata
?
Dangerて?pull requestレヒ?ューの指摘事項を減らす
Shunsuke Maeda
?
颈翱厂におけるコート?レヒ?ューを一歩先へ进める
Shunsuke Maeda
?
础苍诲谤辞颈诲アフ?リ开発のテスト环境
Toshiyuki Hirata
?
iOSアフ?リ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
?
コート?レヒ?ューをより良くする Danger x Android
Toshiyuki Hirata
?
Android e2e testing at mercari
Vishal Banthia
?
厂罢贵と础辫辫颈耻尘をもちいた础苍诲谤辞颈诲アフ?リの自动テスト
Toshiyuki Hirata
?
JaSST'16 Tokyo モバイルセッション
mirer
?
アナザーエデンPC版リリースへの道のり ?WFSにおけるマルチプラットフォーム対応の取り組み?
gree_tech
?
OpenSTFを ECSに乗せてみた話
司 知花
?
Jenkins Bootcamp Premiumのご紹介 in デブサミ2016冬
Masanori Satoh
?

Similar to 颈翱厂アフ?リにおけるリリースフローと颁滨环境 (20)

PDF
オープンセミナー2013蔼広岛
Masahiko Tani
?
PDF
ヒ?ットハ?ンクて?のネイティフ?アフ?リケーション开発における颁滨冲颁顿环境
bitbank, Inc. Tokyo, Japan
?
PDF
非同期型开発プロセス
Isamu Suzuki
?
PDF
ぼくのかんがえた iOSテスト戦略
Naoki Umehara
?
PPTX
Visual Studio App Centerで始めるCI/CD(Android)
Shinya Nakajima
?
PDF
エンタープライズアプリケーション品質向上のカギ -サービス仮想化と継続的デリバリー
Takashi Watanabe
?
PPTX
DeNAが取り組む Software Engineer in Test
Masaki Nakagawa
?
PPTX
devsami kansai 2012 #c2
Yushi_Takagi
?
PDF
エンジニアリングするデザイナーが领域を超えて见えたこと
Mayumi Narisawa
?
PDF
エンジニアリングするデザイナーが领域を超えて见えたこと
Mayumi Narisawa
?
PDF
Ui live資料
Ryota Iida
?
PDF
ビルドプロセスとCI #STAC2014
Koji Hasegawa
?
PDF
.NET アプリを改善して実践する継続的インテグレーション
Yuta Matsumura
?
PDF
颈翱厂开発豆知识冲エスキュービズム勉强会20141006
エンジニア勉強会 エスキュービズム
?
PPTX
Visual Studio App Centerで始めるCI/CD
Shinya Nakajima
?
PPTX
Agile Development at Salesforce
Ryoji Osawa
?
PPTX
Visual Studio App Centerで始めるCI/CD(iOS)
Shinya Nakajima
?
PDF
【S 1】「クラウドが破壊するもの、創造するもの」新野淳一氏
Developers Summit
?
PDF
DevLOVE iPhoneアプリ勉強会
Toshimitsu Takahashi
?
PDF
継続的デリバリー読書会 第 7 章 コミットステージ
Yasutomo Arai
?
オープンセミナー2013蔼広岛
Masahiko Tani
?
ヒ?ットハ?ンクて?のネイティフ?アフ?リケーション开発における颁滨冲颁顿环境
bitbank, Inc. Tokyo, Japan
?
非同期型开発プロセス
Isamu Suzuki
?
ぼくのかんがえた iOSテスト戦略
Naoki Umehara
?
Visual Studio App Centerで始めるCI/CD(Android)
Shinya Nakajima
?
エンタープライズアプリケーション品質向上のカギ -サービス仮想化と継続的デリバリー
Takashi Watanabe
?
DeNAが取り組む Software Engineer in Test
Masaki Nakagawa
?
devsami kansai 2012 #c2
Yushi_Takagi
?
エンジニアリングするデザイナーが领域を超えて见えたこと
Mayumi Narisawa
?
エンジニアリングするデザイナーが领域を超えて见えたこと
Mayumi Narisawa
?
Ui live資料
Ryota Iida
?
ビルドプロセスとCI #STAC2014
Koji Hasegawa
?
.NET アプリを改善して実践する継続的インテグレーション
Yuta Matsumura
?
颈翱厂开発豆知识冲エスキュービズム勉强会20141006
エンジニア勉強会 エスキュービズム
?
Visual Studio App Centerで始めるCI/CD
Shinya Nakajima
?
Agile Development at Salesforce
Ryoji Osawa
?
Visual Studio App Centerで始めるCI/CD(iOS)
Shinya Nakajima
?
【S 1】「クラウドが破壊するもの、創造するもの」新野淳一氏
Developers Summit
?
DevLOVE iPhoneアプリ勉強会
Toshimitsu Takahashi
?
継続的デリバリー読書会 第 7 章 コミットステージ
Yasutomo Arai
?
Ad

More from Toshiyuki Hirata (7)

PDF
颈翱厂におけるハ?フォーマンス计测
Toshiyuki Hirata
?
PDF
颈翱厂におけるハ?フォーマンス计测
Toshiyuki Hirata
?
PDF
颈翱厂における自动テストの并列化
Toshiyuki Hirata
?
PDF
鲍滨テスト(贰蝉辫谤别蝉蝉辞)の高速化をさらにすすめる
Toshiyuki Hirata
?
PDF
鲍滨テストの実行时间を短缩させる方法
Toshiyuki Hirata
?
PDF
我か?家の尝滨狈贰を中心とした情报共有
Toshiyuki Hirata
?
PDF
レヒ?ューのコストを削减するための施策
Toshiyuki Hirata
?
颈翱厂におけるハ?フォーマンス计测
Toshiyuki Hirata
?
颈翱厂におけるハ?フォーマンス计测
Toshiyuki Hirata
?
颈翱厂における自动テストの并列化
Toshiyuki Hirata
?
鲍滨テスト(贰蝉辫谤别蝉蝉辞)の高速化をさらにすすめる
Toshiyuki Hirata
?
鲍滨テストの実行时间を短缩させる方法
Toshiyuki Hirata
?
我か?家の尝滨狈贰を中心とした情报共有
Toshiyuki Hirata
?
レヒ?ューのコストを削减するための施策
Toshiyuki Hirata
?
Ad

Recently uploaded (9)

PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
?
PDF
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
?
PDF
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
?
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
?
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
?
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
?
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?

颈翱厂アフ?リにおけるリリースフローと颁滨环境

  • 1. Copyright ? DeNA Co.,Ltd. All Rights Reserved. iOS Creators' Meetup vol.2 2016/10/14(Fri) 平田敏之@DeNA iOSアプリにおけるリリースフロー とCI環境
  • 2. Copyright ? DeNA Co.,Ltd. All Rights Reserved. 自己紹介 ? 平田 敏之@DeNA ? 経歴 ? GWの開発 → ホムペサービスの開発、iOSアプリの開発 → SWET ? SWET(Software Engineer in Test) ? 事業サポートチーム / テスト基盤チーム ? ミッション ? DeNAサービス全般の品質向上 ? DeNAエンジニアの開発生産性向上 ? 私がやっていること(の一部) ? クライアントアプリ周りのテスト戦略、自動テストの開発 ? CI/CD環境整備 ? テスト基盤環境の開発 ? iOS Test Night 主催 ? http://testnight.connpass.com/event/41323/
  • 3. Copyright ? DeNA Co.,Ltd. All Rights Reserved. はじめに ? リリースフローの1サイクルに時間がかかっていませんか? ? (例えば)開発?検証のサイクルに時間がかかっていませんか? ? このサイクル内でコミュニケーションの発生が多くありませんか? ? 色々と手動でやっていませんか? ? CI環境をどこまで導入できていますか? ? 手動で色々やっている箇所がありませんか? ? 開発のメンバーだけが利用していませんか? ? Xcode、Jenkins、BTS、Slackなどを何度も行き来していませんか? ? コンテキストスイッチが発生しまくっていませんか?
  • 4. Copyright ? DeNA Co.,Ltd. All Rights Reserved. iOSアプリにおけるリリースフロー(例) 特に(2)のサイクルをいかに「簡単」に「すばやく」まわせるかが大事 ? 企画 ↓ ? (デザイン) ? 開発 ? 検証 ? iTunes ConnectへのバイナリUpload ↓ ? Appleへ審査提出 ? 各種データの更新 ? Appleの審査 ? AppStoreへリリース ? リリース後検証 (1) (2) (3) ※これ以外にServerのDeployもあるのが一般的です。
  • 5. Copyright ? DeNA Co.,Ltd. All Rights Reserved. CI環境がない世界 開発 検証 iTunes Connect Archive → Upload to AppStore (1) 機能実装?修正 (2) Xcodeを使ってアプリを端末にインストール (3) 検証 / バグがあれば(1)へ (4) Xcodeを使ってProduct -> Archive (5) XcodeのOrganizerを使ってUpload to App Store
  • 6. Copyright ? DeNA Co.,Ltd. All Rights Reserved. CI環境がある世界 開発 検証 iTunes Connect upload deploy DeployGate / Fabric etc auto test SwiftLint etc bot Remote Access API BTS mention mention
  • 7. Copyright ? DeNA Co.,Ltd. All Rights Reserved. ざっくりとした流れ ? 開発 ? 実装 ? (1) 静的解析 ? (2) アプリのビルド ? (3) アプリの自動テスト ? (4) コードレビュー(第三者が関わる) ? (1)?(3)までを終えてから ? 検証 ? (1) 検証対象となるアプリのインストール ? JenkinsやDeployGateなどからインストール ? (2) バグ報告 ? BTSに起票 ? iTunes Connectへのupload ? 検証で問題なければリリース候補としてupload
  • 8. Copyright ? DeNA Co.,Ltd. All Rights Reserved. CI環境がある場合のリリースフロー (1/2) ? 開発 ? 静的解析(SwiftLint etc) ? ここらへんをコードレビューで指摘するのは時間の無駄 ? アプリのビルド(fastlane gym) ? ※マシンパワーを良くしてビルド時間を短くする※ ? ビルドできないようなものをレビューに出さない ? アプリの自動テスト(XCUITest / EarlGrey / Appium) ? ※並列化などで実行時間を短くする※ ? テストが通らないものをレビューに出さない ? アプリのデプロイ(fastlane deploygate etc) ? 容量問題がなければ毎ビルド毎にデプロイしてしまうのが良い ? コードレビュー ? ※一番ヒューマンコストが高いので無駄なことは避ける※ ? 設計周りについて相談があれば早めにPull Requestを出す
  • 9. Copyright ? DeNA Co.,Ltd. All Rights Reserved. CI環境がある場合のリリースフロー (2/2) ? 検証 ? 検証対象のアプリのインストール(DeployGate etc) ? 検証担当者自身でインストール ? バグがあれば指摘(JIRA etc) ? BTSに起票するとSlackで担当者宛にmentionが来る ? 検証終了(fastlane deliver) ? リリース候補版としてiTunes Connectにupload ? bot(またはJenkins)を用いてupload ? 場合によっては、1サイクルの間にいくつもuploadされる
  • 10. Copyright ? DeNA Co.,Ltd. All Rights Reserved. CI環境があることによるメリット(の一部) ? 集中するべきものに集中できる。 ? コンテキストスイッチは極力少なめに。 ? 常に動くアプリが存在する。 ? 久しぶりにアプリをビルドしたらできなかったとかは無い。 ? アプリを見たい人にすぐ渡すことが出来る。 ? 常にある程度の品質を担保した状態になっている。 ? ある程度=何をおこなっているか次第
  • 11. Copyright ? DeNA Co.,Ltd. All Rights Reserved. まとめ ? リリースフローをいかに「簡単」に「すばやく」まわせるかが大事 ? そのためにはCI環境は必須 ? CI環境はプロダクトに関わる全ての人にとって必要な環境 ? 誰もが利用できるようにするのが良い ? CI環境をしっかりと用意してリリースを楽にしましょう ? CI環境の導入による苦労話(運用コストや属人化)はまた別の話 ? これもある程度は軽減できます