nb app upgrade

Обновление выбранного приложения NocoBase. CLI сначала останавливает текущее приложение, по умолчанию заменяет сохранённые исходники или образ, синхронизирует коммерческие плагины, выполняет обновление и запуск приложения, а в конце обновляет runtime env. Docker env во время запуска пересоздают контейнер приложения из сохранённой конфигурации env.

Использование

nb app upgrade [flags]

Параметры

ПараметрТипОписание
--env, -estringИмя CLI env для обновления; если не указано, используется текущий env
--yes, -ybooleanЕсли явно переданный --env указывает на env, отличающуюся от текущей env, пропускает интерактивное подтверждение
--force, -fbooleanПропускает подтверждение обновления. В неинтерактивных терминалах и сессиях AI-агента этот флаг нужно передавать явно
--skip-download, -sbooleanПропустить загрузку исходников или образа и выполнить поток обновления и запуска на основе уже сохранённых локальных исходников или Docker-образа; также пропускает nb license plugins sync
--versionstringПереопределяет целевую версию этого обновления; после успешного выполнения новая версия будет записана в downloadVersion конфигурации env
--verbosebooleanПоказать вывод низкоуровневых команд обновления и перезапуска

Примеры

nb app upgrade
nb app upgrade --force
nb app upgrade --env local
nb app upgrade --env local --force
nb app upgrade --env local --skip-download
nb app upgrade --env local --skip-download --version beta
nb app upgrade --env local --version beta
nb app upgrade --env local --verbose
nb app upgrade --env local-docker --skip-download

Если вы явно передаёте --env, и она отличается от текущей env, CLI сначала запросит подтверждение. В неинтерактивных терминалах или сессиях AI-агента добавьте --yes самостоятельно либо сначала выполните nb env use <name>, а затем повторите попытку.

Перед фактическим началом обновления интерактивный терминал также запросит дополнительное подтверждение обновления, если только вы явно не передали --force. В неинтерактивных терминалах и сессиях AI-агента nb app upgrade откажется продолжать без --force и выведет команду для повторного запуска, которую можно сразу скопировать. Если это ещё и cross-env операция, понадобятся и --yes, и --force.

По умолчанию nb app upgrade выполняет следующие шаги:

  1. nb app stop
  2. nb source download --replace
  3. nb license plugins sync --skip-if-no-license
  4. nb app start
  5. Сохранить новую downloadVersion, если нужно
  6. nb env update

Если передан --skip-download, CLI пропускает шаги 2 и 3 и сразу выполняет поток обновления и запуска на основе текущих сохранённых исходников или образа. Если также передан --version, CLI не будет загружать эту версию в рамках этого запуска, а только сохранит её как новую downloadVersion после успешного запуска, чтобы будущие обновления могли её использовать.

На шаге 4 CLI автоматически выполнит необходимую подготовку обновления для текущего состояния кода, а затем будет ждать, пока приложение не пройдёт __health_check. Во время ожидания CLI сначала выводит одну строку ожидания, а затем одну строку прогресса каждые 10 секунд, пока приложение не будет готово или пока health check не достигнет таймаута.

Если последний шаг nb env update завершится ошибкой, обновление всё равно считается успешным. CLI выведет предупреждение и попросит затем вручную выполнить nb env update <envName>.

Связанные команды