Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
キッチハイク社内LT大会 / 2021-06-23
Search
Takuma Yamamoto
July 11, 2021
Programming
0
19
キッチハイク社内LT大会 / 2021-06-23
Takuma Yamamoto
July 11, 2021
Tweet
Share
More Decks by Takuma Yamamoto
See All by Takuma Yamamoto
ドメイン駆動設計 勉強会 〜 リポジトリ編 〜 / 2024-04-23
tamago3keran
0
33
スナックミーの開発はワクワクだらけ! / 2024-04-05
tamago3keran
0
87
アウトプットのハードルを下げた! / 2024-03-25
tamago3keran
0
300
ドメイン駆動設計 勉強会 〜 ドメインサービス編 〜 / 2024-03-05
tamago3keran
0
49
ドメイン駆動設計 勉強会 〜 エンティティ編 〜 / 2024-02-20
tamago3keran
0
57
ドメイン駆動設計 勉強会 〜 値オブジェクト編 〜 / 2024-02-06
tamago3keran
1
860
スカウト返信率を倍にするためにやったこと / 2024-01-29
tamago3keran
2
850
Rails 経験者が FastAPI 本を読んで感じたこと / 2023-11-28
tamago3keran
0
840
アウトプットのモチベーションはみんな違ってみんな良い! / 2023-10-06
tamago3keran
0
970
Other Decks in Programming
See All in Programming
Play Billing Library 7.0.0 変更点まとめ@potatotips#88
kako351
0
160
最古の関数型言語「Lisp」ことはじめ / lisp_in_kamiyama
uhooi
1
190
Async Await: Mastering Python's Time-Bending Tricks - EuroPython2024
yanbo
1
290
Trial
cairolibrary720
1
130
Activities at Cairo Library
cairolibrary720
0
1.2k
Ruby メモリ管理 プログラミング
megmogmog1965
0
130
CSC307 Lecture 09
javiergs
PRO
1
500
HMSコンペ 11th Solution (team : kansai-kaggler)
t88
1
680
入社1ヶ月でここまでやった!Findy Toolsインフラ支援の最適化
rvirus0817
6
1.4k
日付と正規化
megmogmog1965
0
140
Cloudflare Workers x AWS Lambdaの組み合わせユースケース / Cloudflare Workers x AWS Lambda Combination Use Case
seike460
PRO
2
310
Introduction to GitOps
hwchiu
0
110
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
Teambox: Starting and Learning
jrom
130
8.6k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Navigating Team Friction
lara
181
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
36
9.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
360
22k
Git: the NoSQL Database
bkeepers
PRO
423
64k
It's Worth the Effort
3n
181
27k
How to Think Like a Performance Engineer
csswizardry
4
590
Done Done
chrislema
179
15k
Learning to Love Humans: Emotional Interface Design
aarron
269
39k
Raft: Consensus for Rubyists
vanstee
134
6.5k
Transcript
confidential ©KitchHike Inc. Takuma Yamamoto 株式会社キッチハイク 2021.06.23 アプリ申請用Macマシンのクラウド化にGitHub Actionsを選んだ話
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
confidential ©KitchHike Inc. TODAY’s TOPIC 3 アプリ申請作業の自動化に GitHub Actions を選んだ理由を紹介
confidential ©KitchHike Inc. WWDC21 開催! BACKGROUND 1 4
confidential ©KitchHike Inc. Xcode Cloud を発表! BACKGROUND 2 5
confidential ©KitchHike Inc. What is Xcode Cloud? そもそも Xcode Cloud
とは何ですか? 6
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/
confidential ©KitchHike Inc. Xcode Cloud 以外にも多くの CI/CD ツールが存在 INTRODUCTION 2
8 Bitrise Visual Studio App Center GitHub Actions CircleCI
confidential ©KitchHike Inc. Why did you research tools? なぜ CI/CD
ツールを調査するようになったのか? 9
confidential ©KitchHike Inc. セキュリティ面を考慮してオフィスのマシンでのみ申請 BACKGROUND 3 10 アプリ申請するためには「証明書」が保存されている端末で Archive する必要があります。ただし、証
明書を開発メンバー全員が所持していると、流出するリスクを高めてしまいます。よって、「証明書」 をオフィスのマシンにだけ保存するようにしました。 それに伴って、アプリ申請がオフィスのマシンに依存するような状態になっていました。
confidential ©KitchHike Inc. 出社せずともアプリリリースする必要が出てきた BACKGROUND 4 11 コロナがきっかけで出社しづらくなり、オフィスに足を運ばなくてもアプリ申請できる状態にする必要 がありました。だから、 CI/CD
ツールを調査するようになりました。
confidential ©KitchHike Inc. どのサービスを選択するのがよいのだろうか? 12 Which service should we choose?
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
confidential ©KitchHike Inc. SERVICE 2 Visual Studio App Center 料金体系
定額制 プラン Free 無料 ( 毎月240分のビルド時間付与 ) 月額 $ 40 / month ( ビルド時間無制限 ) ビルドマシンの性能 不明 学習コスト 低 ( GUIで設定可能 ) https://visualstudio.microsoft.com/app-center/pricing/ 14
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
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
confidential ©KitchHike Inc. なぜ GitHub Actions を選んだのか? 17 Why did
we choose GitHub Actions?
confidential ©KitchHike Inc. ビルド1回にかけられる時間に制限がない REASON 1 18 無料プランがあり、GUIで設定できる 10分 30分
1回あたりのビルド時間に制限がある タイムアウトで ビルドが失敗 しかし... ※ 有料プランにすることで1回のビルドにかけられる時間が無制限になるサービスもあります。 無料プランでも、1回あたりのビルド時間が無制限 タイムアウトでビルドが失敗することがない
confidential ©KitchHike Inc. ビルドマシンの性能が良い REASON 2 19 2vCPU 4GiB ビルド完了までに時間がかかりすぎる
Memory 3vCPU 13GiB Memory 比較したサービスの中で最もマシン性能が良い 短い時間でビルド完了する アプリ申請を短い時間で完了できる しかし... 有料プランなら タイムアウトせずビルドが成功する 申請するまでに 時間がかかる
confidential ©KitchHike Inc. 最も安い費用で運用できる REASON 3 20 $40/月 ビルド可能なプランは費用がかかる ※
毎日リリースするようなチームでは、定額プランを利用した方が安く済む場合もあると思います。 ※現状のキッチハイクアプリの場合 しかし... 有料プランなら タイムアウトせずビルドが成功する 無料と比較する と高く感じる ビルドマシンの性能が高いこともあり、 無料枠(200分/月)で十分まかなえる 無料枠を越えても使った分だけの支払い
confidential ©KitchHike Inc. Summary アプリ申請作業の自動化に GitHub Actions を選んだ理由のまとめ 21
confidential ©KitchHike Inc. アプリ申請作業の自動化に GitHub Actions を選んだ理由をまとめると... SUMMARY 22 キッチハイクのアプリ開発状況だと以下の観点からGitHub
Actionsが適している。 • ビルドマシンの性能が良い • ビルド1回にかけられる時間に制限がない • 最も安い費用で運用できる
confidential ©KitchHike Inc. ご静聴ありがとうございました! 23