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
DeployGateを無料で使いたかった
Search
harutiro
September 29, 2025
Technology
0
20
DeployGateを無料で使いたかった
harutiro
September 29, 2025
Tweet
Share
More Decks by harutiro
See All by harutiro
モバイルエンジニアもCodeRabbitを使ってレビューを少し楽しよう!
harutiro
0
160
プログラマーのGoogle検索および、生成AIを用いたエラー解決方法
harutiro
0
56
「DroidKaigi2024」 スピーカー体験記
harutiro
0
98
[初心者向けGitHub勉強会資料(VScode版)]How To GitHub In VSCode
harutiro
0
180
モバイル開発をする上での利点とは? Webとの違いを考えてみる
harutiro
0
37
SwiftUIでProfileアプリを作ろう
harutiro
0
40
安物サーマルプリンターとAndroidを使って遊んでみる
harutiro
0
84
stmn.LT会.ぱぱっとモバイルでセンサー処理をしてみる
harutiro
0
31
[DroidKaigi2024] 電池寿命を考えた位置情報の監視方法を考える(Geofence)
harutiro
0
210
Other Decks in Technology
See All in Technology
10年の共創が示す、これからの開発者と企業の関係 ~ Crossroad
soracom
PRO
1
170
AIが書いたコードをAIが検証する!自律的なモバイルアプリ開発の実現
henteko
1
340
多野優介
tanoyusuke
1
420
生成AIを活用したZennの取り組み事例
ryosukeigarashi
0
200
Modern_Data_Stack最新動向クイズ_買収_AI_激動の2025年_.pdf
sagara
0
200
成長自己責任時代のあるきかた/How to navigate the era of personal responsibility for growth
kwappa
3
270
KAGのLT会 #8 - 東京リージョンでGAしたAmazon Q in QuickSightを使って、報告用の資料を作ってみた
0air
0
200
自作LLM Native GORM Pluginで実現する AI Agentバックテスト基盤構築
po3rin
2
250
E2Eテスト設計_自動化のリアル___Playwrightでの実践とMCPの試み__AIによるテスト観点作成_.pdf
findy_eventslides
0
110
「AI駆動PO」を考えてみる - 作る速さから価値のスループットへ:検査・適応で未来を開発 / AI-driven product owner. scrummat2025
yosuke_nagai
4
580
AI駆動開発を推進するためにサービス開発チームで 取り組んでいること
noayaoshiro
0
160
SoccerNet GSRの紹介と技術応用:選手視点映像を提供するサッカー作戦盤ツール
mixi_engineers
PRO
1
170
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Music & Morning Musume
bryan
46
6.8k
A better future with KSS
kneath
239
17k
Optimizing for Happiness
mojombo
379
70k
Mobile First: as difficult as doing things right
swwweet
224
10k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
A designer walks into a library…
pauljervisheath
209
24k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Site-Speed That Sticks
csswizardry
11
880
Transcript
DeployGateみたいなサービスを 無料で使いたかった I wanted to use a service like DeployGate
for free. mobile.stmn #13 牧野遥斗(はるちろ)
自己紹介 名前 出身 趣味 特技 牧野遥斗(はるちろ) 愛知県 旅行・アニメ・電子工作 絡まったコードを解くこ と
大学 愛知工業大学・情報科学 部
余談:ClaudeCodeめっちゃ便利ですね 調べ作業・まとめ作業・スライドの文書作成を ClaudeCodeに任せて、イラストなどの配置だけ自分が行う形
目次 1. アプリを配布したい背景 2. デプロイ・テストでのアプリ配布方法 3. DeployGateに似たサービスを無料で構築してみる
アプリを配布したい 背景 01
研究室やサークルでのアプリ制作について 同人誌サークルでの レシート印刷アプリ 研究室ないのUWB データの取得アプリ 個人でアプリを制作して、仲間内に公開する場合がある
配布するのが少しめんどくさい場合も 一番最初に思いつく配布方法は GooglePlayStoreの内部テスト
配布がめんどくさい原因 申請タスクが多い • 特にリリースしないのにアプリの詳 しい説明を書かないといけない • ディープな権限を使用していると別 途申請をしないといけない
もっと簡単に公開ができるツールは? めっちゃ便利 • 簡単に公開ができる • 設定項目が少ない • アプリ更新がわかりやすい配布 アプリもある DeployGate
学生には手が出にくい料金 • 無料プランではアプリが 2つしか出せない • 配布人数は3人まで • 次のプランは月額16500円
今回のテストの要件 簡単に配布作業を行いたい • お金をかけず に、デプロイをしたい • リリース作業はapkファイルをポンと上げる だけにした い •
リリース内容を詳しく申請したくない • 配布方法がアプリで完結 にできる
社内ストアの要件とは全く違う 今回の要件とは全く違う 大体の社内ストアの要件 • 外部に公開されない • 自動でアプリが更新できる • 100台以上の端末の管理 •
情報リテラシーが高くない人も扱う
社内ストアのおすすめ おそらく企業で使いたい内容はこちら • Android ◦ managed Google Playを持ちいる (Google Workspace)
◦ 独自でアプリのダウンロード、インストールを実装 • iOS ◦ カスタムアプリ・非表示アプリで対応
デプロイ・テストで のアプリ配布方法 02
iOSの場合の要件 iOS アプリの配布方法 (yosuga) : https://zenn.dev/yusuga/articles/9e9b632e0338b2
[テスト環境] iOS テスト配布の全体像 配布方法の分類 Apple公式 • TestFlight 内部テスト - 最大100人、審査不要
• TestFlight 外部テスト - 最大10,000人、審査必要 Ad Hocベース(100台制限) • 手動Ad Hoc配布 - 直接配布 • DeployGate - UDID自動収集 • Firebase App Distribution - 管理自動化
[テスト環境] iOS TestFlight 詳細 項目 内部テスト 外部テスト 対象者 チームメンバー 一般ユーザー
人数制限 100人 10,000人 Apple審査 不要 必要 有効期限 90日 90日 内部テストと外部テストの違い
[本番環境] Ad Hoc配布の詳しい内容 重要な制約 • 年間100台までのデバイス登録制限 • UDIDの事前登録が必要 • Provisioning
Profile更新が必要 DeployGate/Firebaseの実態 両サービスともAd Hoc配布がベース → 100台制限は変わらない → 管理を自動化しているだけ
[本番環境] iOSの配布方法一覧 方法 対象 Apple審査 App Store 一般消費者 必要 カスタムアプリ
企業・教育機関 必要 非表示アプリ 限定配布 必要 InHouse配布 社内のみ(新規不可) 不要
iOSの場合のまとめ • 大体の要件はTestFlight・AppStoreの公開で解決する (Apple Developper Programに課金をする) • Appleの配布フローから逸脱することは難しい • 逸脱する場合は、企業版のアカウントを発行して、
InHouseで公開する
Androidの場合の要件
[テスト環境] Google Play Console (Internal Testing) 特徴 • Googleが提供する公式のベータテスト配布 •
内部テスト用トラック機能 手順 1. Google Play Consoleにプロジェクトを作成 2. APK/AABファイルをアップロード 3. 内部テスト用トラックを作成 4. テスターのメールアドレスを追加 5. Play Storeのテストリンクを共有
[テスト環境] Firebase App Distribution 特徴 • Firebaseエコシステムとの統合 • 自動メール通知機能 手順
1. Firebase プロジェクトでApp Distributionを有効化 2. APKファイルをアップロード 3. テスターグループを作成 4. 自動メール通知でダウンロードリンクを配信
[テスト環境] F-Droid テスト配布 特徴 • 完全オープンソース • プライバシー重視(トラッキングなし) • 独自リポジトリ作成可能
配布方法 • 独自リポジトリ - 完全な制御 • 公式F-Droid - レビュー必要
[テスト環境] F-Droid テスト配布 注意点 • オープンソースであるライブラリしか 使用ができない Firebase、Google Mobile Serviceは❌
• URLがばれれば誰にでもダウンロード ができてしまう
[本番環境] Android 本番デプロイ ストア 対象 特徴 Google Play Store 一般消費者
標準的な配布方法 Managed Google Play 企業・教育機関 プライベート配布 Amazon Appstore Amazon端末 Kindle対応 F-Droid オープンソース 完全無料・審査なし
[本番環境] Managed Google Play 詳細 特徴 • 企業専用のプライベートアプリストア • Android
Enterprise環境で動作 • EMM/MDMツールとの統合 メリット • 組織内限定配布(一般公開されない) • IT管理者による承認フロー • 一括ライセンス管理 • サイレントインストール対応 参考文献:https://support.google.com/work/android/answer/7042221?hl=JA
Androidの場合のまとめ • 基本的にはGooglePlayStoreのテスト環境・配布方 法を使うといい。 しかし、手続きが少々めんどくさい。 • お金がかけれるなら、DeployGate。 かけれない場合は色々頑張る必要がある。
DeployGateに似たサービス を無料で構築してみる 03
改めてのテストの要件 身内のテストの場合はもう少し簡単にやりたい • お金をかけずに、デプロイをしたい • リリース作業はapkファイルをポンと上げるだけにしたい • リリース内容を詳しく申請したくない • 配布方法がアプリで完結にできる
改めてのテストの要件 • Google Play Store ◦ 位置情報を常にもらうような特殊権限があると、 内部テストであっても審査が入る ◦ 細かい記述がめんどくさい
• DeployGate ◦ 2アプリ以上公開するときはお金がかかる • Firebase ◦ 特にFirebase使わないのにFirebaseのセットアップ がめんどくさい 無料のDeployGateみたいなサービスが欲しい
そもそも無料のサービスはあるのか? クラウドサービスの場合は 基本有料プランにしないと欲しい機能はない... 🤔
そもそも無料のサービスはあるのか? クラウドサービスの場合は 基本有料プランにしないと欲しい機能はない... オンプレで・オープンソースの もので対応すればいい!
家のMacminiサーバー エンジニアなら、誰しも持っている自宅サーバーを 使用してデプロイをやっちゃおう
今回の本題 オンプレのPlayStoreを構築して、 テストアプリの配布、デプロイを簡単にしよう!
今回の本題 オンプレのPlayStoreを構築して、 テストアプリの配布、デプロイを簡単にしよう! できませんでした。 😢
[テスト環境] F-Droid テスト配布 特徴 • 完全オープンソース • プライバシー重視(トラッキングなし) • 独自リポジトリ作成可能
配布方法 • 独自リポジトリ - 完全な制御 • 公式F-Droid - レビュー必要
[テスト環境] F-Droid テスト配布 注意点 • オープンソースであるライブラリしか 使用ができない Firebase、Google Mobile Serviceは❌
• URLがばれれば誰にでもダウンロード ができてしまう
F-Droidの配布方法 • F-Droid公式リポジトリ ◦ 完全オープンソース(GPL、MIT等) ◦ トラッキング・広告なし • サードパーティーリポジトリ ◦
公式より審査などがゆるい ◦ 少々データの安全性が不安 • 独自リポジトリ ◦ fdroidserver(CLI)かRepomaker(GUI)を持ちいる ◦ 完全にオリジナルで作れる
Repomakerを用いて公開をしてみる Repomaker F-Droid クライアント ユーザーの 元へ Repomakerは Dockerなどを用いて構築
Repomakerを用いて公開をしてみる Repomaker F-Droid クライアント ユーザーの 元へ Repomakerは Dockerなどを用いて構築 Repomakerは 使えなかった...
Repomakerできなかった理由 • 更新スピードが明らかに遅い • 提示された方法ではどのやり方でもうまくいかなかった
fdroidseverを用いて公開をしてみる fdroidserver F-Droid クライアント ユーザーの 元へ Fdroidserverは Aptなどで インストール nginx
Nginxで httpを用いた 外部公開
fdroidseverを用いて公開をしてみる fdroidserver F-Droid クライアント ユーザーの 元へ Fdroidserverは Aptなどで インストール nginx
Nginxで httpを用いた 外部公開 かなりめんどくさい
fdroidserverがめんどくさい理由 • アプリを更新・作成する時にいちいち サーバーにアクセスする必要がある ◦ scpコピーなどでファイルを既定の場所に打ち上げる ◦ `fdroid update` `fdroid
deploy`をしないといけない ◦ そもそもGuiじゃない
実際のfdroidserverの様子 https://fdroid.harutiro.net/fdroid/repo/ Fdroidserverでファイル構成を自動で作成してくれて、 そのファイルをそのままnginxでhttpレスポンスで ダウンロードできるようになっている ファイル構成
スマホ側の様子 リポジトリ一覧、 追加 アプリインストール
まとめ • DeployGateのような無料のサービスは構築できなかった • 簡単に構築公開ができる、配布サービスを探し中 • そもそも、この需要が特殊すぎて開発されない