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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
harutiro
September 29, 2025
Technology
110
0
Share
DeployGateを無料で使いたかった
harutiro
September 29, 2025
More Decks by harutiro
See All by harutiro
マンション備え付けのネットワークとLTE回線を組み合わせた ネットワークの安定化の考案
harutiro
1
160
モバイルエンジニアもCodeRabbitを使ってレビューを少し楽しよう!
harutiro
0
240
プログラマーのGoogle検索および、生成AIを用いたエラー解決方法
harutiro
0
120
「DroidKaigi2024」 スピーカー体験記
harutiro
0
130
[初心者向けGitHub勉強会資料(VScode版)]How To GitHub In VSCode
harutiro
0
550
モバイル開発をする上での利点とは? Webとの違いを考えてみる
harutiro
0
63
SwiftUIでProfileアプリを作ろう
harutiro
0
74
安物サーマルプリンターとAndroidを使って遊んでみる
harutiro
0
210
stmn.LT会.ぱぱっとモバイルでセンサー処理をしてみる
harutiro
0
53
Other Decks in Technology
See All in Technology
Agentic Design Patterns
glaforge
0
280
インフラが苦手でも大丈夫! 紙芝居 Kubernetes -WWGT 10周年編-
aoi1
1
310
海外カンファレンス「JavaOne」参加レポート ユーザー系IT企業における目的・成果/JavaOne Report Purpose and Results in the User IT Company
muit
0
110
管理アカウント単一運用からAWS Organizationsに移行するの大変で滅
hiramax
0
310
Generative UI × A2UI で AI エージェントを作った話 AI-DLC も使ってみた!
kmiya84377
1
280
Diagnosing performance problems without the guesswork
elenatanasoiu
0
120
大規模災害時でも高い信頼性を維持するアプリケーション基盤の実現/nikkei-tech-talk46
nikkei_engineer_recruiting
0
120
long-running-tasks
cipepser
2
440
『家族アルバム みてね』における インシデント対応との向き合い方 / Approach incident response in Family Album
kohbis
2
260
Amazon CloudFrontにおけるAIボットアクセス制御のポイント
kizawa2020
5
310
権限管理設計を完全に理解した
rsugi
2
240
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.7k
Featured
See All Featured
Leo the Paperboy
mayatellez
7
1.8k
Navigating Weather and Climate Data
rabernat
0
200
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
420
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
The SEO Collaboration Effect
kristinabergwall1
1
470
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
120
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Amusing Abliteration
ianozsvald
1
190
Done Done
chrislema
186
16k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
200
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のような無料のサービスは構築できなかった • 簡単に構築公開ができる、配布サービスを探し中 • そもそも、この需要が特殊すぎて開発されない