Обновление версии Glarus BI¶
Инструкции по обновлению до новой версии Glarus BI.
Резервное копирование базы данных приложения¶
База данных приложения хранит информацию обо всех ваших пользователях, дашбордах, запросах, коллекциях, разрешениях — обо всех данных приложения (кроме данных из источников, которые вы подключили к Glarus BI). Рекомендуется регулярно создавать резервную копию базы данных приложения, чтобы иметь возможность восстановить систему в случае неудачного обновления, переполнения диска и других непредвиденных случаях.
См. Резервное копирование данных приложения Glarus BI.
Установка новой версии Glarus BI¶
Шаги различаются в зависимости от того, запускаете вы JAR-файл или образ Docker.
Обновление JAR-файла, запущенного локально¶
Если вы запускаете JAR-файл JVM напрямую:
-
Загрузите последнюю версию JAR-файла.
-
Используйте терминал для доступа к текущему процессу Glarus BI и завершите его (обычно CTRL-C).
-
Замените существующий JAR-файл (
glarus-bi.jar
) в вашем каталоге Glarus BI на более новую версию. -
Перезапустите сервер:
При запуске Glarus BI выполнит все необходимые задачи для завершения обновления. После того как Glarus BI завершит эти задачи, вы будете использовать новую версию.
Обновление JAR-файла, запущенного в промышленной эксплуатации как служба¶
Для обновления вам необходимо остановить службу, заменить JAR-файл более новой версией и перезапустить службу.
Например, если вы запускаете Glarus BI на Debian как службу с использованием Nginx.
-
Загрузите последнюю версию JAR-файла.
-
Остановите службу Glarus BI. Предполагая, что вы назвали службу
metabase.service
, выполните:
-
В вашем каталоге Glarus BI на сервере замените текущий (старый) JAR-файл Glarus BI на более новый JAR-файл, который вы загрузили.
-
Перезапустите службу:
Обновление образа Docker¶
Если вы запускаете Glarus BI в контейнере Docker:
!!! warning "Предупреждение" Если вы не используете базу данных промышленного уровня, данные вашего приложения (запросы, дашборды и т.д.) будут храниться в базе данных H2 внутри вашего контейнера. Обновление требует замены существующего контейнера новым образом с обновленным JAR-файлом Glarus BI, что приведёт к потере данных вашего приложения. Мы рекомендуем перейти на СУБД промышленного уровня перед обновлением.
-
Остановите текущий контейнер Docker.
-
Загрузите последний образ Glarus BI Docker.
-
Запустите новый контейнер 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 с правильными переменными окружения, команда будет следующей:
Обратите внимание на кавычки вокруг "migrate down"
для команд Docker и Docker Compose.
Как только процесс миграции завершится, запустите Glarus BI, используя JAR-файл или образ Docker для версии, которую вы хотите запустить.