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

キッチハイク社内LT大会 / 2021-06-23

キッチハイク社内LT大会 / 2021-06-23

Takuma Yamamoto

July 11, 2021
Tweet

More Decks by Takuma Yamamoto

Other Decks in Programming

Transcript

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

    View full-size slide

  2. 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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  7. 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/

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  13. 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

    View full-size slide

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

    View full-size slide

  15. 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

    View full-size slide

  16. 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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide