Slide 1

Slide 1 text

expo開発における CI/CD CI/CD Test Night #5 Hisayuki Matsuki @mtskhs

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

SpoLive 国際試合に 対応しました! 4

Slide 5

Slide 5 text

architecture • expo / firebase / GCP+Go Go

Slide 6

Slide 6 text

contents ● 話すこと ○ #1 expo開発によるメリット ○ #2 expo開発におけるCI/CD ● お聞きしたいこと ←これ重要 ○ アプリにおけるテストってどうしてます?

Slide 7

Slide 7 text

#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!“

Slide 8

Slide 8 text

#1 about expo ● QRによるアプリ確認 $ expo start development mode Expo Client

Slide 9

Slide 9 text

#1 about expo ● Release Channel ○ URL / QRコードから、特定バージョンのアプリを確認できる ○ 例えば、gitのブランチごとのアプリの状態を検証できる ● $ expo publish --release-channel ● $ expo build:android --release-channel

Slide 10

Slide 10 text

#1 about expo ● OTAアップデート ○ expo server 経由で、最新のJSバンドルだけを 差し替えることでアップデートができる

Slide 11

Slide 11 text

#2 CI/CD on expo ● 某イベントにて、β版アプリを配布し実際のユーザーにに利 用してもらった ● 課題 ○ どれが最新アプリかわからない ○ 本番用アプリで、テストデータで試験したい

Slide 12

Slide 12 text

#2 CI/CD on expo ● 最新アプリがどれかわかるように ○ Release Channels= master / developで固定 ○ commitされたら、自動でpublishするようにcircle.CIで設 定

Slide 13

Slide 13 text

#2 CI/CD on expo ● 最新アプリがどれかわかるように ○ ついでにプルリクしたらアプリの検証をしやすくした ○ expo-qr-notify(https://www.npmjs.com/package/expo-qr-notify) ○ expo publishした際に、app.jsonのhookが実行される

Slide 14

Slide 14 text

#2 CI/CD on expo ● firebaseの接続先の切り替え ○ expo Release Channelsをみて切り替えるように

Slide 15

Slide 15 text

summary ● expoには、開発にあたって便利な機能が満載(CDツール 内包) ○ QRコード読み取りでClientアプリで検証可能 ○ OTAアップデート ● CI/CD ○ expo publishの自動化&QR通知 ○ Release ChannelsごとにDBを切り替えるように ○ 今後、アプリの自動ビルド・fastlane等による各ストアに 対する自動審査申請 等も検討中