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
形式手法特論:公平性制約の位相的特徴づけ #kernelvm / Kernel VM Study Kansai 12th
ytaka23
1
570
【ハノーバーメッセ振り返りイベントat名古屋】データは集約からAI起点の収集に ~組織内・組織間でのデータ連携~
tanakaseiya
0
150
Diagnosing performance problems without the guesswork
elenatanasoiu
0
120
イベントで大活躍する電子ペーパー名札 〜その3〜 / ビジュアルプログラミングIoTLT vol.23
you
PRO
0
160
Anthropic AIネイティブ・スタートアップ構築のプレイブック を理解する
nagatsu
0
220
Datadog 認定試験の概要と対策
uechishingo
0
190
Spring AI × MCP 入門〜AIエージェントへのツール公開、境界設計から始める最小構成 〜
yuyamiyamoto
0
180
Oracle Cloud Infrastructure:2026年5月度サービス・アップデート
oracle4engineer
PRO
1
260
大学生が本気でDatabricksを活用してDiscordサークルをデータ駆動させてみた
phantomjuju
1
280
Claude code Orchestra
ozakiomumkj
2
620
基礎から解説!Icebergで紐解くSnowflake×Databricks連携の現在地
cm_yasuhara
0
390
権限管理設計を完全に理解した
rsugi
2
240
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
74k
How to Ace a Technical Interview
jacobian
281
24k
The Invisible Side of Design
smashingmag
302
52k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Writing Fast Ruby
sferik
630
63k
Automating Front-end Workflow
addyosmani
1370
210k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
We Are The Robots
honzajavorek
0
230
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Making the Leap to Tech Lead
cromwellryan
135
9.9k
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のような無料のサービスは構築できなかった • 簡単に構築公開ができる、配布サービスを探し中 • そもそも、この需要が特殊すぎて開発されない