Upgrade to Pro — share decks privately, control downloads, hide ads and more …

expo開発におけるCI/CD / CICD on development of expo

mtskhs
October 02, 2019

expo開発におけるCI/CD / CICD on development of expo

スポーツ解説アプリSpoLiveにおいてReactNative/expoで開発している知見について、CI/CD Test Night #5 (#cicd_test_night)で発表した内容です 。
expoにおけるアプリ開発の効率化のメリットや、expo開発で開発効率化のために導入しているCIについて述べています。

mtskhs

October 02, 2019
Tweet

More Decks by mtskhs

Other Decks in Technology

Transcript

  1. about me • 松木久幸(@mtskhs) ◦ Backend Engineer / Gopher ◦

    スポーツAI解説サービス(SpoLive) @ NTT Communications ◦ Agile (シリコンバレーで3ヶ月働いて体感した自立型組織のススメ) ▪ https://speakerdeck.com/matsu0228/organizationtheory-of-engineering ◦ Agile Testing Days 2018 レポート ▪ https://speakerdeck.com/matsu0228/report-of-agiletestingdays2018
  2. contents • 話すこと ◦ #1 expo開発によるメリット ◦ #2 expo開発におけるCI/CD •

    お聞きしたいこと ←これ重要 ◦ アプリにおけるテストってどうしてます?
  3. #1 about expo • メリット ◦ toolが揃っている(QRによるアプリ確認) ◦ Release Channelによるチーム内共有

    ◦ OTAアップデートによるアプリ配信 • デメリット ◦ ネイティブモジュールの制約 Expo “a set of tools, libraries and services you can use to build native iOS and Android apps faster than ever before!“
  4. #1 about expo • Release Channel ◦ URL / QRコードから、特定バージョンのアプリを確認できる

    ◦ 例えば、gitのブランチごとのアプリの状態を検証できる • $ expo publish --release-channel <channel name> • $ expo build:android --release-channel <channel name>
  5. #2 CI/CD on expo • 某イベントにて、β版アプリを配布し実際のユーザーにに利 用してもらった • 課題 ◦

    どれが最新アプリかわからない ◦ 本番用アプリで、テストデータで試験したい
  6. #2 CI/CD on expo • 最新アプリがどれかわかるように ◦ Release Channels= master

    / developで固定 ◦ commitされたら、自動でpublishするようにcircle.CIで設 定
  7. summary • expoには、開発にあたって便利な機能が満載(CDツール 内包) ◦ QRコード読み取りでClientアプリで検証可能 ◦ OTAアップデート • CI/CD

    ◦ expo publishの自動化&QR通知 ◦ Release ChannelsごとにDBを切り替えるように ◦ 今後、アプリの自動ビルド・fastlane等による各ストアに 対する自動審査申請 等も検討中