Slide 1

Slide 1 text

confidential ©KitchHike Inc. Takuma Yamamoto 株式会社キッチハイク 2021.06.23 アプリ申請用Macマシンのクラウド化にGitHub Actionsを選んだ話

Slide 2

Slide 2 text

confidential ©KitchHike Inc. BIOGRAPHY あなたは誰ですか? ● バックエンド: Ruby on Rails ● フロントエンド: React ● アプリ: React Native 2 技術スタック SNS ●  https://github.com/tamago3keran ●  https://twitter.com/yamataku3831 ●  https://qiita.com/tamago3keran ● サウナ ● 韓流ドラマ ● アニメ ... 趣味 Takuma Yamamoto Work at KitchHike, Inc. From Miyazaki

Slide 3

Slide 3 text

confidential ©KitchHike Inc. TODAY’s TOPIC 3 アプリ申請作業の自動化に GitHub Actions を選んだ理由を紹介

Slide 4

Slide 4 text

confidential ©KitchHike Inc. WWDC21 開催! BACKGROUND 1 4

Slide 5

Slide 5 text

confidential ©KitchHike Inc. Xcode Cloud を発表! BACKGROUND 2 5

Slide 6

Slide 6 text

confidential ©KitchHike Inc. What is Xcode Cloud? そもそも Xcode Cloud とは何ですか? 6

Slide 7

Slide 7 text

confidential ©KitchHike Inc. Xcode Cloud is a continuous integration and delivery service built into Xcode and designed expressly for Apple developers. INTRODUCTION 1 7 Apple 製の CI/CD ツール Xcodeに組み込まれ、Appleの開発者のために特 別に設計された CI/CD ツールのことです。 引用元: https://developer.apple.com/xcode-cloud/

Slide 8

Slide 8 text

confidential ©KitchHike Inc. Xcode Cloud 以外にも多くの CI/CD ツールが存在 INTRODUCTION 2 8 Bitrise Visual Studio App Center GitHub Actions CircleCI

Slide 9

Slide 9 text

confidential ©KitchHike Inc. Why did you research tools? なぜ CI/CD ツールを調査するようになったのか? 9

Slide 10

Slide 10 text

confidential ©KitchHike Inc. セキュリティ面を考慮してオフィスのマシンでのみ申請 BACKGROUND 3 10 アプリ申請するためには「証明書」が保存されている端末で Archive する必要があります。ただし、証 明書を開発メンバー全員が所持していると、流出するリスクを高めてしまいます。よって、「証明書」 をオフィスのマシンにだけ保存するようにしました。 それに伴って、アプリ申請がオフィスのマシンに依存するような状態になっていました。

Slide 11

Slide 11 text

confidential ©KitchHike Inc. 出社せずともアプリリリースする必要が出てきた BACKGROUND 4 11 コロナがきっかけで出社しづらくなり、オフィスに足を運ばなくてもアプリ申請できる状態にする必要 がありました。だから、 CI/CD ツールを調査するようになりました。

Slide 12

Slide 12 text

confidential ©KitchHike Inc. どのサービスを選択するのがよいのだろうか? 12 Which service should we choose?

Slide 13

Slide 13 text

confidential ©KitchHike Inc. SERVICE 1 Bitrise 料金体系 定額制 プラン Hobby Tier 無料 Solo Developer 年払い: $36 / month 月払い: $40 / month Org Standard 年払い: $90 / month 月払い: $100 / month ビルドマシンの性能 vCPU: 2 Memory: 4GiB 学習コスト 低 ( GUIで設定可能 ) https://www.bitrise.io/pricing 13

Slide 14

Slide 14 text

confidential ©KitchHike Inc. SERVICE 2 Visual Studio App Center 料金体系 定額制 プラン Free 無料 ( 毎月240分のビルド時間付与 ) 月額 $ 40 / month ( ビルド時間無制限 ) ビルドマシンの性能 不明 学習コスト 低 ( GUIで設定可能 ) https://visualstudio.microsoft.com/app-center/pricing/ 14

Slide 15

Slide 15 text

confidential ©KitchHike Inc. SERVICE 3 CircleCI 料金体系 定額制 + 従量課金制 プラン Free 無料 ( 毎週 2,500 credits 付与 ) Perfomance $ 30 / month + 使用分 ( 毎月 50,000 credits 付与 ) ビルドマシンの性能 Free macOS 使用不可 Perfomance vCPU: 2 Memory: 4GiB Credit / Min: 10 学習コスト 中 ( fastlane の理解 ) https://circleci.com/pricing/ 15

Slide 16

Slide 16 text

confidential ©KitchHike Inc. SERVICE 4 GitHub Actions 料金体系 従量課金制 プラン Free 毎月200分まで無料 ( 超過分は $0.08 / 分で課金) Pro 毎月300分まで無料 ( 超過分は $0.08 / 分で課金) Team 毎月300分まで無料 ( 超過分は $0.08 / 分で課金) ビルドマシンの性能 vCPU: 3 Memory: 14GiB 学習コスト 高 ( fastlane / GitHub Actions の理 解 ) https://github.com/features/actions 16

Slide 17

Slide 17 text

confidential ©KitchHike Inc. なぜ GitHub Actions を選んだのか? 17 Why did we choose GitHub Actions?

Slide 18

Slide 18 text

confidential ©KitchHike Inc. ビルド1回にかけられる時間に制限がない REASON 1 18 無料プランがあり、GUIで設定できる 10分 30分 1回あたりのビルド時間に制限がある タイムアウトで ビルドが失敗 しかし... ※ 有料プランにすることで1回のビルドにかけられる時間が無制限になるサービスもあります。 無料プランでも、1回あたりのビルド時間が無制限 タイムアウトでビルドが失敗することがない

Slide 19

Slide 19 text

confidential ©KitchHike Inc. ビルドマシンの性能が良い REASON 2 19 2vCPU 4GiB ビルド完了までに時間がかかりすぎる Memory 3vCPU 13GiB Memory 比較したサービスの中で最もマシン性能が良い 短い時間でビルド完了する アプリ申請を短い時間で完了できる しかし... 有料プランなら タイムアウトせずビルドが成功する 申請するまでに 時間がかかる

Slide 20

Slide 20 text

confidential ©KitchHike Inc. 最も安い費用で運用できる REASON 3 20 $40/月 ビルド可能なプランは費用がかかる ※ 毎日リリースするようなチームでは、定額プランを利用した方が安く済む場合もあると思います。 ※現状のキッチハイクアプリの場合 しかし... 有料プランなら タイムアウトせずビルドが成功する 無料と比較する と高く感じる ビルドマシンの性能が高いこともあり、 無料枠(200分/月)で十分まかなえる 無料枠を越えても使った分だけの支払い

Slide 21

Slide 21 text

confidential ©KitchHike Inc. Summary アプリ申請作業の自動化に GitHub Actions を選んだ理由のまとめ 21

Slide 22

Slide 22 text

confidential ©KitchHike Inc. アプリ申請作業の自動化に GitHub Actions を選んだ理由をまとめると... SUMMARY 22 キッチハイクのアプリ開発状況だと以下の観点からGitHub Actionsが適している。 ● ビルドマシンの性能が良い ● ビルド1回にかけられる時間に制限がない ● 最も安い費用で運用できる

Slide 23

Slide 23 text

confidential ©KitchHike Inc. ご静聴ありがとうございました! 23