<< Click to Display Table of Contents >> Администрирование (Linux) > Обновление системы Обновление с помощью командной строки |
1.В корень папки с Directum Launcher со старой версией системы скопируйте архивы:
•DirectumLauncher.tar.gz – новая версия инструмента Directum Launcher;
•Platform.tar.gz – веб-сервер и сервисы Directum RX;
•DirectumRX.tar.gz – набор стандартных шаблонов документов, утилита RxCmd и стандартная прикладная разработка Directum RX;
•DockerImages.tar.gz – базовые docker-образы, если на сервере отсутствует доступ к сети Интернет;
•WebHelp.zip – справка и слайдер.
Некоторые компоненты зависят друг от друга. Например, без актуальной платформы нельзя добавить прикладную разработку. Версии зависимых компонентов должны быть совместимы. Если зависимый компонент нужной версии не найден в папке с Directum Launcher, то при выполнении команды ./do.sh components add <название компонента> возникнет ошибка. Проверьте, что все нужные архивы есть в папке.
2.Сгенерируйте скрипт обновления:
./do.sh create-update-script --package="<Путь к архиву с новой версией>"
Пример:
./do.sh create-update-script --package="/srv/newbuild/DirectumLauncher.tar.gz"
В результате в папке с файлами старой версии будет создан скрипт обновления update.sh.
3.Выполните скрипт обновления. Скрипт удалит в папке со старой версией всё, кроме подпапок etc и log, и в эту же папку распакует файлы новой версии из указанного ранее архива. Чтобы выполнить скрипт обновления, запустите команду:
./update.sh
4.Добавьте компоненты системы. Для этого перейдите в папку с Directum Launcher и выполните команду:
./do.sh components add_all
5.Остановите и удалите все сервисы. Для этого запустите командную строку и выполните команду:
./do.sh all down
6.Установите веб-сервер и сервисы Directum RX:
./do.sh platform install
ВАЖНО. Если возникла ошибка на этапе конвертации базы данных, то сначала восстановите БД из резервной копии. Иначе при повторной попытке обновления база данных станет нерабочей.
7.Опубликуйте стандартную прикладную разработку и импортируйте стандартные шаблоны. Для этого выполните команду:
./do.sh directumrx install
Если нужно опубликовать заказную разработку и импортировать свои шаблоны, то вместо указанной выше команды выполните:
./do.sh dt deploy --package="<Путь к пакету с заказной разработкой 1>; <Путь к пакету с заказной разработкой 2>; <Путь к пакету с заказной разработкой N>"
./do.sh rxcmd import_templates --templates_dir_path="<Путь к шаблонам>"
Пример:
./do.sh dt deploy --package="/srv/CustomDev/SolutionDev.dat"
./do.sh rxcmd import_templates --templates_dir_path="/srv/rxdata/templates/"
Если используются мобильные приложения Directum Solo и Directum Jazz, обновите сервер NOMAD. Подробнее см. в инструкции по установке и настройке сервера NOMAD на Linux.
8.Обновите справку. Для этого проверьте, что в папку со старой версией системы добавлен архив с новой справкой и затем выполните команду:
./do.sh webhelp install
9.При обновлении системы с версии Directum RX 4.6 и ниже на версию 4.7 или выше восстановите внешние ключи для таблиц сущностей с помощью команды:
./do.sh dt run --command="-n \"Service User\" -p <Пароль> --restore-fk"
Примечание. Логины и пароли нужно указывать в двойных кавычках с экранирующим символом \, так как они могут содержать пробелы и спецсимволы. Например, пароль вида pas~!@88 указывается как \"pas~!@88\".
После выполнения команды в лог-файл Directum Launcher current.log сохраняется список колонок, для которых выполнилось восстановление внешних ключей. Список также выводится в командной строке и записывается в лог-файл утилиты DeploymentToolCore. Для каждой колонки указывается результат восстановления: Successed – внешний ключ восстановлен, FAILED – внешний ключ восстановить не удалось.
Если в лог-файле есть колонки с результатом FAILED, то в таблице появились строки, в которых указанные поля ссылаются на удаленные сущности. В этом случае нужно вручную исправить записи: восстановить пропавшие сущности или заменить ссылки на те, которые существуют в БД.
Пример лог-файла:
2023-07-25 11:31:37,496 INFO For tenant 'Directum RX':
2023-07-25 11:31:37,496 INFO For table 'Sungero_Commons_City':
2023-07-25 11:31:37,496 INFO 'Region' - FAILED
2023-07-25 11:31:37,496 INFO 'Country' - FAILED
2023-07-25 11:31:37,496 INFO For table 'Sungero_Content_EDoc':
2023-07-25 11:31:37,496 INFO 'BusinessUnit_Docflow_Sungero' - Successed
2023-07-25 11:31:37,496 INFO 'Currency_Docflow_Sungero' - Successed
2023-07-25 11:31:37,496 INFO 'InRespTo_Docflow_Sungero' - Successed
В приведенном примере в таблице Sungero_Commons_City есть города, которые ссылаются на несуществующие регион и страну. Необходимо найти такие записи в базе данных и актуализировать их. После этого запустите восстановление внешних ключей еще раз.
10.При обновлении с версии 4.6 и ниже на версию 4.7 или выше обновите статистику, которую использует планировщик для выбора наиболее эффективного способа выполнения запроса. Для этого в редакторе запросов PGAdmin выполните SQL-запрос vacuum full analyze:
vacuum full analyze;
ПРИМЕЧАНИЕ. Обновление статистики может занимать продолжительное время.
11.Если сервисы Directum RX перенесены на отдельный сервер, то после обновления системы обновите перенесенные сервисы. Подробнее см. в разделе «Обновление сервисов на выделенном сервере».
12.Чтобы освободить дисковое пространство, после обновления удалите папки прошлой версии системы из DirectumLauncher/etc/_builds:
•DBConverter/<папка с прошлой версией>;
•Redist/<папка с прошлой версией>;
•Encryptor/<папка с прошлой версией>;
•CertificateTool/<папка с прошлой версией>;
•PlatformBuilds;
•_cache.
Также рекомендуется удалить старые лог-файлы. Для этого выполните команду:
./do.sh clean_logs --config_path="<Путь до config.yml>" --skip_last_modified_days="<Количество дней>"
Где:
--config_path – путь до конфигурационного файла, в котором указана папка с лог-файлами. Если путь не указан, то по умолчанию используется файл config.yml в папке с Directum Launcher;
--skip_last_modified_days – количество дней, за которое файлы нужно оставить. Если количество дней не указано, то остаются лог-файлы, созданные за последние 7 дней. Чтобы удалить все лог-файлы, в качестве значения ключа укажите 0.
Пример команды:
./do.sh clean_logs --config_path="/srv/DirectumLauncher/etc/config.yml" --skip_last_modified_days="7"
13.После обновления настройте систему. Подробнее см. разделы:
•Обновление с версии 4.1 на 4.3
•Обновление с версии 4.2 на 4.4
•Обновление с версии 4.3 на 4.5
•Обновление с версии 4.4 на 4.7
•Обновление с версии 4.5 на 4.8
•Обновление с версии 4.6 на 4.9
•Обновление с версии 4.7 на 4.9
•Обновление с версии 4.8 на 4.9
© Компания Directum, 2024 |