Перейти к содержанию

Обновление версии Glarus BI

Инструкции по обновлению до новой версии Glarus BI.

Резервное копирование базы данных приложения

База данных приложения хранит информацию обо всех ваших пользователях, дашбордах, запросах, коллекциях, разрешениях — обо всех данных приложения (кроме данных из источников, которые вы подключили к Glarus BI). Рекомендуется регулярно создавать резервную копию базы данных приложения, чтобы иметь возможность восстановить систему в случае неудачного обновления, переполнения диска и других непредвиденных случаях.

См. Резервное копирование данных приложения Glarus BI.

Установка новой версии Glarus BI

Шаги различаются в зависимости от того, запускаете вы JAR-файл или образ Docker.

Обновление JAR-файла, запущенного локально

Если вы запускаете JAR-файл JVM напрямую:

  1. Создайте резервную копию базы данных приложения.

  2. Загрузите последнюю версию JAR-файла.

  3. Используйте терминал для доступа к текущему процессу Glarus BI и завершите его (обычно CTRL-C).

  4. Замените существующий JAR-файл (glarus-bi.jar) в вашем каталоге Glarus BI на более новую версию.

  5. Перезапустите сервер:

java --add-opens java.base/java.nio=ALL-UNNAMED -jar glarus-bi.jar

При запуске Glarus BI выполнит все необходимые задачи для завершения обновления. После того как Glarus BI завершит эти задачи, вы будете использовать новую версию.

Обновление JAR-файла, запущенного в промышленной эксплуатации как служба

Для обновления вам необходимо остановить службу, заменить JAR-файл более новой версией и перезапустить службу.

Например, если вы запускаете Glarus BI на Debian как службу с использованием Nginx.

  1. Создайте резервную копию базы данных приложения.

  2. Загрузите последнюю версию JAR-файла.

  3. Остановите службу Glarus BI. Предполагая, что вы назвали службу metabase.service, выполните:

sudo systemctl stop metabase.service
  1. В вашем каталоге Glarus BI на сервере замените текущий (старый) JAR-файл Glarus BI на более новый JAR-файл, который вы загрузили.

  2. Перезапустите службу:

sudo systemctl restart metabase.service

Обновление образа Docker

Если вы запускаете Glarus BI в контейнере Docker:

  1. Создайте резервную копию базы данных приложения.

!!! warning "Предупреждение" Если вы не используете базу данных промышленного уровня, данные вашего приложения (запросы, дашборды и т.д.) будут храниться в базе данных H2 внутри вашего контейнера. Обновление требует замены существующего контейнера новым образом с обновленным JAR-файлом Glarus BI, что приведёт к потере данных вашего приложения. Мы рекомендуем перейти на СУБД промышленного уровня перед обновлением.

  1. Остановите текущий контейнер Docker.

  2. Загрузите последний образ Glarus BI Docker.

  3. Запустите новый контейнер Docker. В зависимости от портов и того, как вы хотите назвать контейнер, команда будет выглядеть примерно так:

docker run -d -p 3000:3000 -e MB_DB_CONNECTION_URI="jdbc:postgresql://<host>:5432/metabase?user=<username>&password=<password>" --name glarusbi repo/image:latest

При запуске Glarus BI автоматически выполнит обновление. Как только Glarus BI завершит обновление, у вас будет запущена новая версия.

Обновление Glarus BI на других платформах

Откат обновления

В общем случае, регулярные резервные копии (особенно резервные копии перед обновлением) — это лучшая стратегия, поэтому мы рекомендуем использовать резервную копию базы данных приложения для отката обновления.

Но если вы внесли изменения в базу данных приложения после обновления, которые хотите сохранить, вы можете использовать команду migrate down для отката базы данных приложения Glarus BI до поддержки предыдущей версии Glarus BI, которую вы запускали. Когда Glarus BI обновляется до новой версии, он выполняет миграции, которые могут изменить схему базы данных приложения. Команда migrate down отменяет эти изменения схемы. В целом, мы рекомендуем восстанавливаться из резервной копии (резервной копии, которую вы точно создали перед обновлением) и использовать команду migrate down только в том случае, если вам действительно нужно сохранить изменения, сделанные после обновления.

Использование команды migrate down

Остановите Glarus BI и используйте текущий обновленный JAR-файл Glarus BI (не тот JAR-файл Glarus BI, к которому вы хотите откатиться) для завершения отката с помощью команды migrate down. Убедитесь, что данные подключения к базе данных приложения установлены в переменных окружения, например:

export MB_DB_TYPE=postgres
export MB_DB_DBNAME=metabaseappdb
export MB_DB_PORT=5432
export MB_DB_USER=username
export MB_DB_PASS=password
export MB_DB_HOST=localhost
java --add-opens java.base/java.nio=ALL-UNNAMED -jar glarus-bi.jar migrate down

Если вы используете Docker, используйте команду "migrate down" (с кавычками вокруг "migrate down") и включите детали подключения к базе данных приложения, например:

docker run
  -e "MB_DB_TYPE=postgres" \
  -e "MB_DB_DBNAME=metabaseappdb" \
  -e "MB_DB_PORT=5432" \
  -e "MB_DB_USER=name" \
  -e "MB_DB_PASS=password" \
  -e "MB_DB_HOST=my-database-host" \
--rm metabase/metabase "migrate down"

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

docker compose run metabase "migrate down"

Обратите внимание на кавычки вокруг "migrate down" для команд Docker и Docker Compose.

Как только процесс миграции завершится, запустите Glarus BI, используя JAR-файл или образ Docker для версии, которую вы хотите запустить.