Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Mobility Technologies Co., Ltd. タクシーアプリ「GO」iOS アプリにおける Bitrise と GitHub Actions の使い分け Yosuke Imairi
Slide 2
Slide 2 text
Mobility Technologies Co., Ltd. 2 タクシーアプリ「GO」700万ダウンロード突破 🎉
Slide 3
Slide 3 text
Mobility Technologies Co., Ltd. 3 タクシーアプリ「GO」の iOS アプリで利⽤している CI サービス Bitrise と GitHub Actions をどう使い分けていくのがよいのか 🤔
Slide 4
Slide 4 text
Mobility Technologies Co., Ltd. ❏ Unit Test の実⾏ ❏ Pull Request 作成時 ❏ その後に push されたとき ❏ DeployGate への配信 ❏ 特定ブランチに push されたとき ❏ TestFlight への配信 ❏ タグが作成されたとき 4 Bitrise で⾏っていること ❏ dSym のアップロード ❏ 毎週⽔曜⽇(リリース⽇) ❏ 未使⽤の画像やリソースを削除 ❏ 毎週⽇曜⽇ ❏ ベースブランチとの差分を取り込む ❏ 必要に応じて定期実⾏ ❏ 依存関係の可視化( RIBs tree の更新 ) ❏ 毎週⽇曜⽇
Slide 5
Slide 5 text
Mobility Technologies Co., Ltd. ❏ Branch Protection rules の設定 ❏ 特定のブランチが作成されたとき ❏ RCブランチ作成 + バージョン更新 + Slack 通知 ❏ ⼿動実⾏ ❏ Danger による未使⽤プロパティ / メソッドの検知 ❏ Pull Request 作成時 ❏ TODO コメントの Issue 化 ❏ TODO コメントが残っている状態で特定ブランチにマージされたとき 5 GitHub Actions で⾏っていること ❏ コードの整形処理 ❏ 毎週⽇曜⽇
Slide 6
Slide 6 text
Mobility Technologies Co., Ltd. 6 Bitrise のほうが使いやすいと感じるところ
Slide 7
Slide 7 text
Mobility Technologies Co., Ltd. ❏ Bitrise だと⼀時的にスケジューリングしたいときに GUI で簡単に設定できる ❏ スケジューリングの追加、変更、削除が任意のタイミングですぐに反映できる ❏ GitHub Actions だと yml 管理が必須で、都度 yml の更新が必要になる ❏ yml 更新後、コードレビューしてマージするまで反映されない 7 ① スケジューリングの管理が⽐較的楽に⾏える
Slide 8
Slide 8 text
Mobility Technologies Co., Ltd. ❏ Bitrise には証明書を管理する仕組みが⽤意されている ❏ ⼿動で証明書の管理をしている場合は Bitrise のほうが圧倒的に楽だと思われる ❏ GitHub Actions で証明書を管理するには⼀⼯夫が必要 ❏ fastlane match を使っていれば GitHub Actions でも管理しやすくなる 8 ② 証明書の管理が分かりやすい
Slide 9
Slide 9 text
Mobility Technologies Co., Ltd. 9 GitHub Actions のほうが使いやすいと感じるところ
Slide 10
Slide 10 text
Mobility Technologies Co., Ltd. ❏ GitHub にアクセスするための Bot や Token を⽤意しなくてよい(こともある) ❏ Bitrise だと GitHub を操作するための Bot アカウントを⽤意してそれの PAT など を利⽤することになる ❏ これらの継続的な管理・運⽤が必要となる ❏ GitHub Actions では secrets.GITHUB_TOKEN でいくつかの API を利⽤可能 ❏ 利⽤できない API もあるので注意 10 ① GitHub の操作が簡単に⾏える
Slide 11
Slide 11 text
Mobility Technologies Co., Ltd. ❏ Bitrise には⼤きく分けて 3 つのトリガーが⽤意されている ❏ PUSH / PULL REQUEST / TAG ❏ GitHub Actions ではより詳細な条件が指定できる ❏ 特定のチームが Pull Request の Assignee に設定されたとき ❏ Pull Request が Approved / マージされたとき ❏ Pull Request にコメントがされたとき etc… ❏ トリガーだけ GitHub Actions を利⽤して Bitrise の Workflow を実⾏するのも⼀つの⼿ 11 ② GitHub に関するトリガーがより詳細に設定できる
Slide 12
Slide 12 text
Mobility Technologies Co., Ltd. 12 ❏ 各 CI サービスの特徴を⽣かした使い⽅をする ❏ 他にも CI サービスはたくさんある ❏ Travis CI, CircleCI, Xcode Cloud, Codemagic etc… ❏ 開発しているプロジェクトに合ったサービスを利⽤していきたい ❏ どのように CI を活⽤していくか / 求める機能 ❏ ランニングコスト まとめ
Slide 13
Slide 13 text
文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。 Mobility Technologies Co., Ltd. 13