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
31
キッチハイク社内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
53
スナックミーの開発はワクワクだらけ! / 2024-04-05
tamago3keran
0
130
アウトプットのハードルを下げた! / 2024-03-25
tamago3keran
0
360
ドメイン駆動設計 勉強会 〜 ドメインサービス編 〜 / 2024-03-05
tamago3keran
0
65
ドメイン駆動設計 勉強会 〜 エンティティ編 〜 / 2024-02-20
tamago3keran
0
71
ドメイン駆動設計 勉強会 〜 値オブジェクト編 〜 / 2024-02-06
tamago3keran
1
1.3k
スカウト返信率を倍にするためにやったこと / 2024-01-29
tamago3keran
2
950
Rails 経験者が FastAPI 本を読んで感じたこと / 2023-11-28
tamago3keran
0
1.2k
アウトプットのモチベーションはみんな違ってみんな良い! / 2023-10-06
tamago3keran
0
1.1k
Other Decks in Programming
See All in Programming
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
320
romajip: 日本の住所CSVデータを活用した英語住所変換ライブラリを作った話
sangunkang
0
1.7k
Jakarta EE meets AI
ivargrimstad
0
970
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
PHPのアノテーション(アトリビュート)からOpenAPIのドキュメントを出力し、レスポンスもそれを元にシリアライズすることで仕様と実装を乖離させず、色々楽できたよって話
kalibora
0
110
CSC509 Lecture 13
javiergs
PRO
0
110
Jakarta EE meets AI
ivargrimstad
0
540
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.2k
イマのCSSでできる インタラクション最前線 + CSS最新情報
clockmaker
5
3.4k
CSC509 Lecture 11
javiergs
PRO
0
180
我々のデザインシステムは Chakra v3 にアップデートします
shunya078
2
1.1k
Contemporary Test Cases
maaretp
0
140
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
BBQ
matthewcrist
85
9.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
The Language of Interfaces
destraynor
154
24k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Unsuck your backbone
ammeep
668
57k
Typedesign – Prime Four
hannesfritz
40
2.4k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
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