システム更新ガイド
このドキュメントは、New APIシステムの更新方法とベストプラクティスを提供し、システムが最新バージョンにスムーズにアップグレードされることを保証します。
更新前の準備作業
システムを更新する前に、以下の準備作業を実行することをお勧めします。
- データバックアップ:データベースと重要な設定ファイルをバックアップします
- 更新ログの確認:GitHub Releasesで最新バージョンの更新内容を確認します
- 互換性の確認:新バージョンが既存のプラグイン、統合、またはカスタム設定と互換性があるかを確認します
- 適切な時間の選択:トラフィックの少ない時間帯に更新を実行し、ユーザーへの影響を最小限に抑えます
Dockerデプロイの更新方法
方法1:単一コンテナデプロイの更新
New APIを単一のDockerコンテナでデプロイしている場合、以下の手順で更新できます。
# 拉取最新镜像
docker pull calciumion/new-api:latest
# 停止并移除旧容器
docker stop new-api
docker rm new-api
# 使用相同的参数重新运行容器
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e TZ=Asia/Shanghai \
-v /your/data/path:/data \
calciumion/new-api:latestご注意ください
新しいコンテナを起動する際は、元のコンテナと同じパラメータ、特にデータボリュームのマウントと環境変数設定を使用していることを確認してください。
方法2:Docker Composeを使用した更新
Docker Composeを使用してデプロイしている場合(Docker Compose設定説明を参照)、更新プロセスはより簡単です。
# 进入项目目录
cd new-api
# 拉取最新镜像
docker compose pull
# 停止并重启服务
docker compose down
docker compose up -dまたは、より簡潔なコマンドを使用します。
docker compose pull && docker compose down && docker compose up -d方法3:1Panelパネルを使用した更新
1Panelパネルを使用してデプロイしている場合、以下の手順で更新できます。
- 1Panelパネルにログインし、アプリケーションストア -> アップグレード可能ページ に移動します
- New APIアプリケーションを見つけ、アップグレード ボタンをクリックします
- アップグレード対象バージョン を選択します
- 確認 ボタンをクリックすると、システムは自動的に最新イメージをプルしてアプリケーションをアップグレードします
方法4:宝塔パネルを使用した更新
宝塔パネルを使用してデプロイしている場合、以下の手順で更新できます。
- 宝塔パネルにログインし、Docker管理 -> コンテナリスト に移動します
- New APIコンテナを見つけ、その他 -> 再作成 をクリックします
- 最新イメージをプル オプションにチェックを入れ、他の設定は変更しないことを確認します
- 送信 をクリックすると、システムは自動的に最新イメージをプルしてコンテナを再作成します
ソースコードからのビルドによる更新方法
New APIをソースコードからビルドしてデプロイしている場合、更新手順は以下の通りです。
# 进入项目目录
cd new-api
# 拉取最新代码
git pull
# フロントエンドの更新とビルド
cd web
bun install
bun run build
cd ..
# web/dist の生成後にバックエンドをビルド
go build -o new-api
# 重启服务
./new-api --port 3000マルチノードデプロイの更新戦略
マルチノードデプロイ環境では、以下の更新戦略を採用することをお勧めします。
- まずマスターノードを更新:GORM AutoMigrate を実行するのはマスターノードだけなので、必要なデータベーススキーマの移行を適用するために、最初にマスターノードを更新します
- マスターノードを確認:起動ログとサービスの状態を確認し、データベースの移行が完了してマスターノードが安定していることを確認します
- スレーブノードを段階的に更新:残りのスレーブノードを1台ずつ更新し、各ノードが安定してから次に進みます
この順序により、スレーブノードが新しいバージョンで動作を開始する前に、データベーススキーマの更新を完了できます。
詳細ガイド
クラスターデプロイの完全なガイドについては、クラスターデプロイメントドキュメントを参照してください。
更新後の確認事項
システム更新後、システムが正常に動作していることを確認するために、以下の事項をチェックしてください。
- 管理インターフェースへのアクセス:管理インターフェースに正常にログインし、アクセスできることを確認します
- ログの確認:システムログにエラーや警告がないかを確認します
- API呼び出しのテスト:いくつかのAPI呼び出しをテストして、機能が正常であることを確認します
- データベース移行の確認:データベース構造の更新が成功したことを確認します
- チャネルの状態確認:すべてのチャネル接続が正常であることを確認します
バージョンロールバック
更新後に問題が発生した場合、以前の安定バージョンにロールバックできます。
Dockerロールバック
# 拉取特定版本的镜像
docker pull calciumion/new-api:v1.x.x
# 停止并移除当前容器
docker stop new-api
docker rm new-api
# 使用旧版本镜像重新创建容器
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e TZ=Asia/Shanghai \
-v /your/data/path:/data \
calciumion/new-api:v1.x.xソースコードロールバック
# 进入项目目录
cd new-api
# 切换到特定版本
git checkout v1.x.x
# フロントエンドの更新とビルド
cd web
bun install
bun run build
cd ..
# web/dist の生成後にバックエンドを再ビルド
go build -o new-api
# 重启服务
./new-api --port 3000よくある質問
更新後にサービスが起動しない
- ログにエラーメッセージがないか確認します
- データベース接続が正常か確認します
- 環境変数設定が正しいか確認します
更新後に機能が異常になる
- API形式の変更がないか確認します
- フロントエンドとバックエンドのバージョンが一致しているか確認します
- 新バージョンに追加の設定が必要か確認します
データベース構造の非互換性
- 更新ログにデータベース移行の説明がないか確認します
- データベース移行スクリプトを手動で実行する必要があるか確認します
- データベースアップグレードのガイダンスについて開発者に連絡します
自動更新ツール(慎重に使用)
自動更新を希望するユーザーは、Watchtowerを使用してコンテナを自動更新できます。
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower -c \
--run-once new-apiご注意ください
自動更新は、特にデータベース構造の変更時に予期せぬ問題を引き起こす可能性があります。自動更新はテスト環境でのみ使用し、本番環境では更新プロセスを手動で制御することをお勧めします。
このガイドはいかがですか?
最終更新