История страницы
Предупреждение |
---|
Для работы нового «Апдейтера» на операционных системах семейства RHEL нужно установить версию пакета unzip-6.0-24 или выше. |
Установка и настройка
Сохраните копию старой утилиты, например в
/tmp
, после чего очистите корневой каталог утилитыБлок кода language bash cp -r /opt/updater /tmp rm -R /opt/updater/*
Если ранее пользователь утилиты был не updater, создайте отдельного пользователя на всех серверах приложений, для которых требуется обновление справочника и поменяйте права на директории самой утилиты:
Блок кода language bash useradd updater chown -R updater:updater /opt/updater
Для директорий справочников приложений настройте пользователей выдайте права 777 и SGID бит, пути к справочникам можно посмотреть в файлах конфигурации старой утилиты (
/tmp/updater/updater.env
или/tmp/updater/custom.env
):Блок кода language bash chown -R updater:suggestions /opt/suggestions/dictionaries chmod -R 2777 /opt/suggestions/dictionaries chown -R updater:factor /opt/factor/dictionaries chmod -R 2777 /opt/factor/dictionaries chown -R updater:cdi /opt/cdi/dictionaries chmod -R 2777 /opt/cdi/dictionaries
На сервере Апдейтера также создайте корневые директории справочников для нужных продуктов и выдайте права:
Блок кода language bash # Подсказки mkdir -p /opt/suggestions/dictionaries chown -R updater /opt/suggestions/dictionaries chmod -R 2777 /opt/suggestions/dictionaries # Фактор mkdir -p /opt/factor/dictionaries chown -R updater /opt/factor/dictionaries chmod -R 2777 /opt/factor/dictionaries # Единый клиент mkdir -p /opt/cdi/dictionaries chown -R updater /opt/cdi/dictionaries chmod -R 2777 /opt/cdi/dictionaries
- Скачайте два исполняемых файла утилиты (
updater
иclear_dict
) с FS Скачайте исполняемый файл утилитыupdater
и юнит-файлupdater.service
с https://fs.hflabs.ru/%ваш_спейс%/updater_new/ — если такой папки в вашем спейсе ещё нет, обратитесь в поддержку/. Переместите файл
updater
Переместите их в директорию «Апдейтера» и выдайте права на выполнениеБлок кода language bash # Перемещаем исполняемые файлы (если загрузили их директорию /tmp) mv /tmp/{updater, clear_dict} /opt/updater/ # Устанавливаем&& владельца chown updater: /opt/updater/updater chown updater: /opt/updater/clear_dict # Выдаем права && chmod 755 /opt/updater/updater chmod 755 /opt/updater/clear_dict
Скопируйте файл
updater.env
из старой версии утилиты (если использовалсяcustom.env
, то берем его)Блок кода language bash cp /tmp/updater.env /opt/updater
Оставьте в нём только строки с переменными из списка ниже:
Раскрыть Блок кода language bash FACTOR_DICTIONARY_HOME FACTOR_USERNAME SUGGESTIONS_DICTIONARY_HOME SUGGESTIONS_USERNAME SUGGESTIONS_API_PORT CDI_DICTIONARY_HOME CDI_USERNAME CDI_API_USERNAME CDI_API_PASSWORD CDI_API_PORT
- Переместите юнит-файл
updater.service
в директорию с юнитами и настройте автозапуск для службы:Укажите значения для недостающих обязательных настроек:
Раскрыть Блок кода language bash title updater.env # Логин и пароль для авторизации в Artifactory (если у вас их нет, обратитесь в поддержку)" ARTIFACTORY_LOGIN="..." ARTIFACTORY_PASSWORD="..." # Использовать ли команду chown для изменения прав (по умолчанию false) WITH_ROOT="false" # Хост, на котором работает API Фактора (если отличается от localhost) FACTOR_API_HOST="..." # Порт, на котором работает API Фактора FACTOR_API_PORT="..." # Имя заказчика в адресе к Фактору http://host:18080/factor-service-<имя заказчика> FACTOR_API_TAG="..." # Хост, на котором работает API Подсказок (если отличается от localhost) SUGGESTIONS_API_HOST="..." # Пароль пользователя API Подсказок (если включена авторизация в админку) SUGGESTIONS_API_PASSWORD="..." # Хост, на котором работает API Единого клиента (если отличается от localhost) CDI_API_HOST="..."
Если необходимо, укажите значения для дополнительных настроек:
Раскрыть Блок кода language bash title updater.env # Путь к Artifactory по умолчанию: # ARTIFACTORY_HOST="https://maven.hflabs.ru/artifactory/repo" # Если есть локальное зеркало Artifactory, достаточно раскрыть эту переменную, # чтобы Апдейтер переключился с maven.hflabs.ru на локальное зеркало, например: # ARTIFACTORY_HOST="http://maven.mycorp.ru/artifactory/hflabs-maven-remote" # Имя пользователя, под которым работает Апдейтер (используется для очистки старых справочников на удаленном сервере) UPDATER_USERNAME="..." # Управление проверкой сертификата Artifactory. # По умолчанию значение true. CHECK_CERTIFICATE = "..." # Ограничивает скорость скачивания словарей (указывается в мегабитах в секунду). # Значение по умолчанию - 0 (без ограничений). DOWNLOAD_RATE_LIMIT=0 # Настройки подключения к прокси-серверу в формате 'http://user:password@ipaddress:port' HTTP_PROXY='http://...' # Уровень логирования - ERROR, WARN, INFO, DEBUG (по умолчанию INFO) LOGGING_LEVEL="INFO" # Включение HTTPS протокола отдельно для каждого из продуктов CDI_HTTPS="true" FACTOR_HTTPS="true" SUGGESTIONS_HTTPS="true"
Необходимо очистить переменные окружения от старой версии, т.к. они имеют больший приоритет, чем настройки конфига.
Раскрыть title unset_env.sh Блок кода language bash unset ARTIFACTORY_PATH unset FACTOR_DICTIONARY_HOME unset FACTOR_USERNAME unset FACTOR_BUILD unset SUGGESTIONS_DICTIONARY_HOME unset SUGGESTIONS_USERNAME unset SUGGESTIONS_API_PORT unset CDI_DICTIONARY_HOME unset CDI_USERNAME unset CDI_API_USERNAME unset CDI_API_PASSWORD unset CDI_API_PORT
mv /tmp/updater.service /etc/systemd/system/ && systemctl daemon-reload && systemctl enable updater.service && systemctl start updater.service
Настройте файл конфигурации updater.yaml, перенеся в него настройки из старого файла
updater.env
Оставьте в нём только строки с переменными из списка ниже:
Если используются внешние справочники Подсказок, то они будут работать по умолчанию, но с одним условием — перед названием обязательно указывается тэг продукта, например:suggestions_car_brand
Если у вас была настроена загрузка справочников по расписанию, то пришлите, пожалуйста, все ваши
.sh
(или.cron
) скрипты нам на почту. Мы конвертируем их в формат нового «Апдейтера» запросы для добавления задач новом «Апдейтере» и вернем их вам обратно.Замените старые скрипты на конвертированные из пункта выше, после чего из
cron
-расписания на сервере (редактируется командой «crontab -e
») удалите часть с "&& . /opt/updater/updater.env
".Раскрыть title Пример Было:
Без форматирования 00 21 * * 6 cd /opt/updater && . /opt/updater/updater.env && /opt/updater/download-dictionaries.sh 00 01 * * 0 cd /opt/updater && . /opt/updater/updater.env && /opt/updater/update-dictionaries.sh
Стало:
00 21 * * 6 cd /opt/updater && /opt/updater/download-dictionaries.sh 00 01 * * 0 cd /opt/updater && /opt/updater/update-dictionaries.shБез форматирования Выполните запросы, сконвертированные из скриптов загрузки справочников по расписанию