アップデートトップに戻る

アップデートのトラブルシューティング

アップデートで困ったときの対処をまとめました。多くの場合、自動 rollback 機能で前のバージョンに自動で戻るので、サービスが完全に停止することは ほぼありません。落ち着いて以下を順番に確認してください。

1. 「アップデートボタンが押せない / バナーが出ない」

管理画面の上部に「v0.X.X にアップデート」バナーが表示されない場合の原因と対処です。

原因 A: manifest 取得に失敗している

ダッシュボードは GitHub の line-harness-oss リポジトリから最新リリースの manifest を 取得します。GitHub API の rate limit に当たっているか、ネットワーク 経路に問題がある可能性があります。

  • ブラウザの DevTools (F12) で Network タブを開き、/api/updates/check のレスポンスを確認
  • 5〜10 分待って再読み込み (rate limit リセット)
  • それでも出ない場合は https://github.com/Shudesu/line-harness-oss/releases にアクセスできるか確認

原因 B: ログインしていない / 権限不足

アップデートはアカウント Owner ロールのみが実行できます。 Staff ロールでログインしている場合はバナーが表示されません。 Owner アカウントでログインし直してください。

原因 C: すでに最新版

現在のバージョンが GitHub の最新リリースと一致している場合は、 バナーは表示されません。/settings でバージョンを確認できます。

2. 「fork detected と表示される」

ハッシュ検証で改造が検出された状態です。自動アップデートは 安全のため停止されます。手動アップデート手順に従ってください。

詳細: 手動アップデート (改造済みユーザー向け)

3. 「進捗バーが途中で止まっている」

アップデート中の進捗は SSE (Server-Sent Events) で配信されます。 ネットワークの問題で SSE 接続が切れると、画面上の進捗バーは止まったように 見えますが、サーバー側ではアップデートが進行している可能性があります。

  • まずページをリロードしてください
  • リロード後、/updates の履歴ページに最新の状態が表示されます (running / completed / failed)
  • 5 分以上 running のままなら、アップデートが詰まっている可能性が高いです

4. 「アップデートが失敗した」

アップデートのどこかのステップ (build / migration / deploy / health check) で失敗した場合、line-harness は自動的に rollback を実行します。

自動 rollback の挙動

  • Worker は前のバージョンに即座にロールバック
  • D1 migration は additive-only ポリシーのため、原則として rollback 不要
  • R2 のアセットも前バージョン用が残っているため、影響を最小化
  • 失敗の詳細は /updates ページのエラー欄に表示

原因の調べ方

  1. /updates ページで該当アップデートのログをクリック
  2. 失敗したステップ (build / migrate / deploy / health) と エラーメッセージを確認
  3. 自分で原因がわからない場合は、ログを丸ごとコピーして GitHub Issue に貼って報告してください

GitHub Issue 報告先

github.com/Shudesu/line-harness-oss/issues

5. 「migration が失敗した」

D1 のスキーマ変更 (migration) が失敗した場合、Worker は古いバージョンの ままになります。サービス自体は止まらないので慌てる必要はありません。

確認手順

  1. Cloudflare Dashboard → D1 → 該当 DB の「Console」タブを開く
  2. SELECT name FROM sqlite_master WHERE type='table'; で現在のテーブル状態を確認
  3. migrations テーブルがあれば、適用済みの migration 一覧を確認

最終手段: 手動 SQL

migration が壊れて自動再実行できない場合、Cloudflare Dashboard の D1 Console から手動で SQL を実行できます。

警告: 手動 SQL はバックアップを取ってから実行してください。 失敗すると元に戻せません。GitHub Issue で相談するのを強く推奨します。

6. 「Worker 更新後に /health が失敗する」

新しい Worker にデプロイした直後、/health エンドポイントが 応答しないと、line-harness は自動で前のバージョンに戻します (health check timeout は通常 30 秒)。

原因の例

  • 環境変数 (Secret) の設定漏れ
  • D1 binding の設定ミス
  • 新しいコードに含まれる構文エラー / 起動失敗
  • R2 / KV など外部リソースの権限不足

調査手順

  1. npx wrangler tail で Worker のリアルタイムログを見る
  2. Cloudflare Dashboard → Workers → 該当 Worker → Logs を確認
  3. 足りない Secret があれば wrangler secret put で追加 (CF API トークンの作り方 と同じ要領)
困ったときは: line-harness は OSS です。 ログとエラーメッセージを添えて GitHub Issue で報告してもらえれば、メンテナや他のユーザーから返答が来ます。

関連ページ