#Управление приложениями

Если вы сохранили приложение NocoBase как среду CLI, ежедневное управление в основном выполняется с помощью группы команд `nb app`: запуск, остановка, перезапуск, просмотр журналов и обновление.

В большинстве случаев вам не нужно запоминать все параметры. Сначала проясните, хотите ли вы «запустить приложение», «прочитать журналы для устранения проблем» или «обновиться до новой версии», а затем выберите соответствующую команду.

Если вы хотите сначала понять, почему `nb app` объединен в этот набор команд и его связь с `nb app autostart`, сначала прочитайте [nb app design намерение](../cli-design/nb-app-design-intent.md). На этой странице сохраняются только наиболее распространенные ежедневные операции.

## Быстрый индекс

| Я хочу... | Какую команду использовать |
| --- | --- |
| Запустить или возобновить работу приложения | [`nb app start`](../../api/cli/app/start.md) |
| Временно остановить приложение | [`nb app stop`](../../api/cli/app/stop.md) |
| Остановитесь вместе со встроенной базой данных, управляемой через CLI | [`nb app stop --with-db`](../../api/cli/app/stop.md) |
| Перезапустите приложение после изменения конфигурации | [`nb app restart`](../../api/cli/app/restart.md) |
| Просмотр журналов приложений в режиме реального времени | [`nb app logs`](../../api/cli/app/logs.md) |
| Обновление до новой версии исходного кода или образа | [`nb app upgrade`](../../api/cli/app/upgrade.md) |

::: совет: сначала подтвердите текущую среду

Команда `nb app` по умолчанию действует в текущей среде. Если вы одновременно поддерживаете несколько сред, по умолчанию рекомендуется подтвердить целевую среду перед запуском, остановкой, записью в журнал или обновлением операций.

Если вы явно передаете другой `--env`, CLI обычно запрашивает подтверждение. В сценариях или неинтерактивных сценариях вы можете добавить `--yes`, чтобы пропустить этот шаг. Переключение, просмотр и удаление нескольких сред представлены в [Управление несколькими средами](./multi-environment.md).

:::

## Запустить приложение

Откройте приложение и используйте `nb app start` по умолчанию:

```bash
nb app start
```

Если вы хотите работать с чем-то отличным от текущего окружения, вы можете указать это явно:

```bash
nb app start --env app1 --yes
```

Несколько других часто используемых параметров запуска:

- `nb app start` По умолчанию сначала автоматически завершаются необходимые приготовления к установке или обновлению, а затем запускается служба.

Локальная среда npm/Git запустит процесс локального приложения, а среда Docker пересоберет контейнер приложения в соответствии с сохраненной конфигурацией. Подробные параметры см. в [`nb app start`](../../api/cli/app/start.md).

## Остановить и перезапустить

Если вы просто хотите временно остановить приложение, используйте `nb app stop`:

```bash
nb app stop
```

Если вы только что изменили конфигурацию, зависимости или код, обычно проще напрямую использовать `nb app restart`:

```bash
nb app restart
nb app restart --env app1 --yes
```

`nb app restart` сначала будет остановлен, а затем перезапущен так же, как `start`. Подробную информацию об использовании см. в [`nb app stop`](../../api/cli/app/stop.md) и [`nb app restart`](../../api/cli/app/restart.md).

## Посмотреть журнал

При устранении неполадок вы обычно сначала просматриваете журналы:

```bash
nb app logs
```

Если вы просто хотите просмотреть более свежие результаты или не хотите продолжать следить за журналом, вы можете использовать это:

```bash
nb app logs --tail 200
nb app logs --no-follow
nb app logs --env app1 --yes
```

Локальная среда npm/Git читает журналы pm2, а среда Docker читает журналы контейнера. По умолчанию `nb app logs` будет продолжать следить за новыми выводами журнала. Подробные параметры см. в [`nb app logs`](../../api/cli/app/logs.md).

## Обновление приложения

Команда обновления: `nb app upgrade`:

```bash
nb app upgrade
```

Эта команда делает больше, чем просто «загрузить новую версию». Процесс по умолчанию обычно включает в себя:

1. Остановите текущее приложение.
2. Загрузите и замените сохраненный исходный код или изображение.
3. Синхронизируйте коммерческие плагины
4. Обновите и запустите приложение.
5. Обновите информацию о времени выполнения env.

Если вы заранее обновили исходный код или изображение и просто хотите продолжить обновление и запустить приложение на основе текущего содержимого, вы можете добавить `--skip-download`:

```bash
nb app upgrade --skip-download
```

Если вы хотите явно указать целевую версию, вы также можете добавить `--version`:

```bash
nb app upgrade --version beta
```

:::предупреждение

`nb app upgrade` Обычно перед началом работы вас также попросят подтвердить один раз. В сценариях, непрерывной интеграции или других неинтерактивных сценариях `--force` необходимо передавать явно. Если вы одновременно работаете с разными окружениями, вам обычно необходимо объединить `--yes`.

```bash
nb app upgrade --env app1 --yes --force
```

:::

Более полное описание параметров см. в [`nb app upgrade`](../../api/cli/app/upgrade.md).

## Ссылки по теме

- [замысел дизайна приложения](../cli-design/nb-app-design-intent.md)
- [Управление несколькими средами](./multi-environment.md)
- [Справочник по командам `nb app`](../../api/cli/app/index.md)
