個人開発アプリ「MineWatch」の記事まとめ(随時更新)
個人開発しているMinecraftサーバー監視アプリ「MineWatch」(公式サイト、iOS UIKit + FastAPI + Kubernetes)について書いた記事が増えてきたので、リンク集としてまとめました。新しい記事を書いたら随時ここに追記します。
まず全体像を知りたい方は、最初の記事から読むのがおすすめです。
1. 開発の全体像・App Store審査
- 個人開発でApp Storeリリースフローを学ぶ ― UIKit + FastAPI + K8sで作るMinecraftサーバー監視アプリ「MineWatch」 ― アプリの全体像、技術構成、この個人開発を始めた動機
- 個人開発でApp Storeリリースフローを学ぶ(続編)― 3回のリジェクトと審査通過までにやったこと ― 1.0.0が2回リジェクトされ、3回目で審査を通過するまでの記録
- 個人開発でApp Storeリリースフローを学ぶ(三部作)― 本番だけ静かに壊れた、CI/CDの2つの事故 ― 審査通過後に起きた、CIは緑のまま本番だけ壊れた2つの事故
2. CI/CD・レビュー自動化
- JenkinsのPRレビューでテストとセキュリティスキャンも回す ― AIのAPPROVEを機械的に覆すMineWatchのCI ― AIレビューと機械的な検証を組み合わせたPRレビュー・自動マージの仕組み
-
GitHub Actionsの自動マージが、次のworkflowを起動しない ― 2ヶ月「直っていない」と思い込んでいたバグの正体 ―
GITHUB_TOKENの仕様に振り回された話。実は2ヶ月前に直っていた - GitHub CodeQLが個人アカウントでは使えなかった話 ― 開発ツールを9本まとめて入れた棚卸しの顛末 ― gitleaks・Trivy・ty・Semgrep等9本の導入と、CodeQLが使えなかった理由
- Web/admin/iOSにE2Eテストを整備した話 ― 認証を迂回したら、次はテストコード自身の罠が待っていた ― Playwright・XCUITestでの認証迂回設計と、テストコード自身が踏んだ罠
3. インフラ・デプロイ
- Argo RolloutsのBlue-Greenは「2つの環境の交代」じゃなかった ― 名前に引きずられて誤解していた話 ― 自分で設計した仕組みなのに、名前のイメージに理解がズレていた話
- 個人開発でgit-flowを運用して、同じ「戻し忘れ」事故を2回踏んだ ― チェックリストでは直さず、運用そのものを変えた話 ― ArgoCDのtargetRevision切り戻し忘れを2回踏んで、運用ルールごと変えた記録
- 個人開発のiOS共通ライブラリをSSHフリー化した話 ― 「publicだから認証不要」の勘違いに、Dockerビルドだけが気づいていた ― SwiftPMのレジストリバグを避けてForgejoミラーに切り替えた顛末
4. パフォーマンス
- 個人開発のMinecraft監視アプリに負荷試験をしてみた ― 読み取り専用のAPIが、実は毎回DBへ書き込んでいた ― stagingでの段階負荷試験で見つかった3つの実バグと、試験ツール自身が起こした事故
5. 機能実装・セキュリティ設計
- 「見るだけ」から「操作できる」へ ― MinecraftサーバーへのRCON実行を、個人開発でどう安全に作ったか ― 誤操作の影響が大きい機能を、暗号化・確認ダイアログ・監査ログでどう安全に作ったか
- 同一人物がApple/Googleどちらでログインしても同じアカウントにする ― Firebase純正のlink(with:)を使わなかった理由 ― Firebase純正のアカウント連携APIを避けて独自テーブルにした設計判断
番外編(MineWatch本体ではなく、CI基盤側の話)
- 「別々のアプリが似た症状で落ちる」を手がかりに、NFS越しのSonarQube・Nexus・Jenkinsが繰り返しクラッシュする原因を追った話 ― MineWatchのCI/CDも動いている自宅Kubernetesクラスタで実際に追った障害調査
JQITのエンジニアの95%以上は未経験からの採用です。
よければコーポレートサイトにも遊びに来てください。
未経験から学べます!一緒に挑戦していきましょう![]()
noteやXもやってます↓