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

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

このページは、LINE Harness のコードを自分で書き換えている人(いわゆる fork ユーザー) 向けです。改造していない場合は、アップデートのトップページに書かれている自動アップデート手順を使ってください。

注意: 改造済み環境では、自動アップデートが 安全のため無効化されます。改造箇所を上書きしてしまうのを防ぐためです。

「改造している」とは

自分のサーバーにインストールした ~/.line-harness/ 配下のソースコードを書き換えて、独自の機能を入れている状態を指します。例:

  • 独自の Webhook ハンドラーを足した
  • UI のテキストやスタイルを書き換えた
  • 独自プラグインを src/ 直下に追加した
  • migration ファイルを編集した

アップデート時に、line-harness のリリースに含まれる ファイル群とユーザー環境のファイルを SHA-256 ハッシュで照合します。 1 つでも差分があれば「fork detected」と判定し、自動アップデートを停止します。

なぜ自動アップデートが無効化されるか

自動アップデートはファイルを丸ごと上書きします。改造済みのファイルを 上書きすると、あなたが入れた独自機能が消えてしまいます。 これを防ぐため、ハッシュが一致しないファイルがあれば ユーザーの判断に委ねる設計になっています。

代わりに、自分で git pull してコンフリクトを 解決してからデプロイする「手動アップデート」を実行してください。

手動アップデート手順

サーバーに SSH で入り、以下のコマンドを順番に実行します。

# 1. line-harness のインストールディレクトリに移動
cd ~/.line-harness

# 2. 最新版を git で取得
git pull origin main

# 3. 依存をインストールしてビルド
pnpm install
pnpm build

# 4. Cloudflare Worker にデプロイ
npx wrangler deploy

# 5. /health で動作確認
curl https://YOUR-WORKER.workers.dev/health

通常はこれだけで完了します。所要時間は 2〜5 分程度。 ビルドエラーや wrangler デプロイエラーが出たら、トラブルシューティングを確認してください。

コンフリクトが出たら

git pull で merge conflict が発生した場合は、 以下の流れで解決します。

  1. git status でコンフリクト中のファイルを確認
  2. 各ファイルを開いて <<<<<<< HEAD から >>>>>>> までを手動マージ
  3. git add <file> でステージ
  4. git commit で merge コミットを作る
  5. pnpm build が通ることを確認
  6. 可能ならローカルで pnpm test を実行
  7. 問題なければ npx wrangler deploy で本番反映

コンフリクト解決に自信がない場合は、本番デプロイの前に 一度ステージング (別の Worker / 別の D1) で検証することを強く推奨します。

CLI から一括実行する場合

create-line-harness CLI でも手動アップデートを補助できます。

npx create-line-harness update

このコマンドは、改造済み環境を検出すると 「fork detected」と表示してユーザー確認を求めます。 差分の概要を表示したうえで、続行するかどうかを y/N で聞かれます。 続行を選ぶと、git pull + pnpm build + wrangler deploy までを自動で実行します。

ただし、コンフリクト解決には対応しません。コンフリクトが発生する 可能性がある場合は、上の「手順」を手動で実行する方が安全です。

関連ページ