上級編約30分
上級④ 運用を自動化する
週報・テスト・更新チェックを機械に任せる。寝ている間も回る仕組み
サービス運営の敵は「地味な手作業の積み重ね」。今日は繰り返しの仕事を機械に渡す回です。テーマは3つ——定期処理(週報)/自動テスト(CI)/部品の更新チェック。
今日のゴール
①毎週月曜に運営レポートが自分にメールで届く ②pushのたびにビルドとテストが自動で走る ③古くなった部品をGitHubが知らせてくれる。“自分が動かなくても回る”を3つ仕込みます。
STEP1:週次レポート(Vercel Cron)
Cron(クロン)は「決まった時刻に自動実行する」仕組み。Vercelに「毎週月曜の朝、このURLを叩いて」と頼み、そのURLで集計→中級②のResendでメール——既存の部品の組み合わせでできます。
週次運営レポートを自動化したい。①/api/cron/weekly-report のRoute Handlerを作る:直近7日間の新規登録者数・お問い合わせ件数・メモ投稿数をSupabaseから集計し、Resendで私(CONTACT_TO)にメール送信 ②vercel.json の crons で毎週月曜の朝9時(日本時間)に実行 ③このURLは環境変数 CRON_SECRET で保護して、Vercelからの正規の呼び出し以外は拒否する。まず計画を見せて。- 環境変数 CRON_SECRET(長いランダム文字列。「ランダムな英数字40文字作って」とAIに頼んでOK)を追加→Redeploy。
- 待てない人は、Vercelのダッシュボード(Settings → Cron Jobs)から手動実行してテスト——メールが届いたら成功!
“見に行く”から“届く”へ
解析やDBを毎日見に行くのは続きません。大事な数字のほうから毎週届くようにすると、運営が習慣になります。レポートに載せる数字は、育てたい指標に合わせて増やしていきましょう。
STEP2:CI——pushのたびに自動で検査(GitHub Actions)
中級⑤で作ったテスト、いまは“頼んだときだけ”走ります。これをコードが変わるたびに必ず走るようにするのが CI(継続的インテグレーション)。GitHubに標準装備の GitHub Actions を使います。
.github/workflows/ci.yml を作って。mainへのpushのたびに、npm ci → npm run build → npm test を実行。Node.jsは20系。失敗したら分かるように。mainに反映して。- 反映後、GitHubの「Actions」タブを開く——緑のチェックが付けば検査通過。
- 以後、AIに大きな変更を頼んでも、壊れていればGitHubが赤くして知らせてくれます。中級⑤の見張り番が、常駐になりました。
STEP3:部品の更新チェック(Dependabot)
アプリは大量の部品(パッケージ)でできていて、部品にはセキュリティ修正が日々出ます。GitHubの Dependabot をONにすると、古い部品や危険な部品を向こうから知らせてくれます。
- GitHubのリポジトリ →「Settings」→「Advanced Security」(または Code security)。
- Dependabot alerts と Dependabot security updates を有効化。
- 通知が来たら:「Dependabotがこの部品の更新を提案してる。内容を確認して、問題なければ取り込んで」とAIに頼む——これが部品更新の型です。
STEP4:バックアップの確認(月1の儀式)
- Supabaseは有料プランで自動バックアップがあります。ダッシュボードの「Backups」で自分のプランの保護状況を一度確認しておく。
- 無料プランの間は、月1回、大事なテーブル(profiles・memosなど)をTable EditorからCSVエクスポートしておくと安心。
- 「何かあっても、ここまでは戻れる」のラインを知っておくことが目的です。
おさらい:今日使った“言葉”
- Cron
- 決まった時刻に自動実行。週報・集計・掃除に。CRON_SECRETで保護。
- CI(GitHub Actions)
- pushのたびにビルド+テスト。見張り番の常駐化。
- Dependabot
- 部品の更新・脆弱性をGitHubが通知。提案はAIと確認して取り込む。
- バックアップ
- 戻れるラインの確保。月1で確認の儀式。
上級④・完成チェック
0 / 4つまずいたら
①Cronが動かない→Vercelのログと「Cron Jobs」の実行履歴を確認。②Actionsが赤い→ログの赤い部分をコピーしてAIへ(テストが正しく失敗している可能性も)。③メールが来ない→中級②の通知が動いているか先に確認。
お疲れさまでした!
運営の足腰が機械化されました。次回⑤は公開サービスの責任、セキュリティ総点検。これまで各所に仕込んできた防御を、監査の目で一周します。