88API88API
AI-приложенияAPIПомощь и поддержка

Руководство по обновлению системы

В этом документе представлены методы обновления и лучшие практики для системы 88API, позволяющие обеспечить плавное обновление вашей системы до последней версии.

Подготовка перед обновлением

Перед обновлением системы рекомендуется выполнить следующие приготовления:

  1. Резервные данные: резервное копирование базы данных и важных файлов конфигурации.
  2. Просмотр журнала обновлений: последние обновления версий можно посмотреть на странице GitHub Releases.
  3. Проверьте совместимость: убедитесь, что новая версия совместима с существующими плагинами, интеграциями или пользовательскими конфигурациями.
  4. Выберите подходящее время: выполняйте обновления в периоды низкой нагрузки, чтобы снизить влияние на пользователей.

Метод обновления для развертывания Docker

Способ 1: обновление развертывания одного контейнера

Если вы развернули 88API с использованием одного контейнера 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

Способ третий: используйте обновление панели 1Panel

Если вы используете развертывание панели 1Panel, вы можете выполнить обновление, выполнив следующие действия:

  1. Войдите в 1Panel и введите App Store -> Обновляемая страница.
  2. Найдите приложение 88API и нажмите кнопку Обновить.
  3. Выберите Целевая версия для обновления.
  4. Нажмите кнопку Подтвердить, и система автоматически загрузит последнюю версию приложения для обновления образа.

Способ 4: обновление с помощью панели Pagoda

Если вы выполняете развертывание с помощью Pagoda Panel, вы можете выполнить обновление, выполнив следующие действия:

  1. Войдите в панель Pagoda и введите Управление Docker -> Список контейнеров.
  2. Найдите контейнер 88API и нажмите Дополнительно -> Пересоздать.
  3. Установите флажок Извлечь последний образ и убедитесь, что другие конфигурации остались неизменными.
  4. Нажмите Отправить, и система автоматически получит последний образ и заново создаст контейнер.

Метод обновления, скомпилированный из исходного кода

Если вы скомпилировали и развернули 88API из исходного кода, шаги обновления будут следующими:

# Введите каталог проекта
cd new-api

# Загрузите последний код
git pull

# Скомпилировать серверную часть
go build -o new-api

# Обновите и скомпилируйте интерфейс
cd web
bun install
bun run build
cd ..

# Перезапустить службу
./new-api --port 3000

Подробное руководство

Обновление стратегии для развертывания на нескольких узлах

Для сред развертывания с несколькими узлами рекомендуется следующая стратегия обновления:

  1. Сначала обновите ведомый узел: сначала обновите ведомый узел, чтобы проверить его стабильность.
  2. Постепенное улучшение: после подтверждения стабильности ведомого узла обновите оставшиеся ведомые узлы один за другим.
  3. Заключительно обновите главный узел: после того, как все подчиненные узлы будут работать стабильно, обновите главный узел.

Эта стратегия сводит к минимуму риск сбоя в обслуживании.

Полные инструкции по развертыванию кластера см. в [Документации по развертыванию кластера] (cluster-deployment.md).

Обновлены элементы проверки

После обновления системы проверьте следующее, чтобы убедиться, что система работает правильно:

  1. Доступ к интерфейсу управления: убедитесь, что вы можете войти в систему и получить доступ к интерфейсу управления в обычном режиме.
  2. Проверить журнал: проверьте системный журнал на наличие ошибок или предупреждений.
  3. Тестирование вызовов API. Проверьте некоторые вызовы API, чтобы убедиться в их функциональности.
  4. Проверьте миграцию базы данных. Убедитесь, что обновление структуры базы данных прошло успешно.
  5. Проверьте состояние канала: убедитесь, что все соединения каналов в порядке.

Откат версии

Если после обновления возникли проблемы, вы можете откатиться к предыдущей стабильной версии:

Откат 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

# Перекомпилировать
go build -o new-api

# Обновите и скомпилируйте интерфейс
cd web
bun install
bun run build
cd ..

# Перезапустить службу
./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

пожалуйста, обратите внимание

Автоматические обновления могут вызвать неожиданные проблемы, особенно при изменении структуры базы данных. Автоматические обновления рекомендуется использовать только в тестовых средах, а в производственных средах процесс обновления следует контролировать вручную.