Установка

Скачайте два исполняемых файла утилиты (updater и clear_dict) с https://fs.hflabs.ru/%ваш_спейс%/updater/ — если такой папки в вашем спейсе ещё нет, обратитесь в поддержку продукта, для которого используется Апдейтер.

Переместите их в директорию «Апдейтера» и выдайте права на выполнение

# Перемещаем исполняемые файлы (если загрузили их директорию /tmp)
mv /tmp/updater /opt/updater/
mv /tmp/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

Настройка приложения

Важно

Для ОС Windows все локальные пути указываются с экранированием (двойным слешем): C:\\tmp\\cdi

Настройки указываются в файле updater.env. 
Сгенерите умолчательный конфиг с помощью команды:

su - updater
cd /opt/updater
./updater generate config

Будет создан файл конфигурации приложения config, который нужно переименовать в updater.env.

mv config updater.env

В нём необходимо оставить настройки только для необходимых вам продуктов:

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"

ARTIFACTORY_LOGIN="..."                                                        # Логин для авторизации в Artifactory (если у вас их нет, обратитесь в поддержку)"
ARTIFACTORY_PASSWORD="..."                                                     # Пароль для авторизации в Artifactory (если у вас их нет, обратитесь в поддержку)"

# Опциональные настройки
ARTIFACTORY_AUTH_ENCODED="false"                                               # Декодирование логина и пароля из base64 для хранения их в неявном виде (версия апдейтера 1.3.10+).  По умолчанию значение false    
CHECK_CERTIFICATE="true"                                                       # Управление проверкой сертификата Artifactory. По умолчанию значение true.
# HTTP_CREDENTIALS='{"HFLABS":"hflabs_key","MAINTENANCE":"maintenance_key"}'   # Используется при запуске в режиме сервера. Прописываются креды для доступа по http 
# HTTP_PROXY='http://...'                                                      # Настройки подключения к прокси-серверу в формате 'http://user:password@ipaddress:port'
HTTP_TIMEOUT=10                                                                # Таймаут подключений по HTTP в секундах (по умолчанию 10)
DOWNLOAD_RATE_LIMIT=0                                                          # Ограничивает скорость скачивания словарей (указывается в мегабитах в секунду). Значение по умолчанию - 0 (без ограничений).
DOWNLOAD_RETRIES=5                                                             # Количество попыток переподключения при загрузке (по умолчанию 5)
WITH_ROOT="false"                                                              # Использовать ли команду chown для изменения прав (по умолчанию false)
LOGGING_LEVEL="INFO"                                                           # Уровень логирования -  ERROR, WARN, INFO, DEBUG (по умолчанию INFO)  
UPDATER_USERNAME="updater"                                                     # Имя пользователя, под которым работает Апдейтер


# Настройки Фактора
FACTOR_DICTIONARY_HOME="..."                                                   # Путь к каталогу user_lib Фактора, включая сам user_lib
FACTOR_USERNAME="factor"                                                       # Имя пользователя, под которым работает Фактор
FACTOR_API_HOST="..."                                                          # Хост, на котором работает API Фактора (если отличается от localhost)
FACTOR_API_PORT="..."                                                          # Порт, на котором работает API Фактора  
FACTOR_API_TAG="..."                                                           # Имя заказчика в адресе к Фактору http://host:18080/factor-service-<имя заказчика>
FACTOR_HTTPS="true"                                                            # Включение HTTPS протокола для запросов к API Фактора
FACTOR_BUILD="24.1"                                                            # Выставление версии Фактора вручную. Берется, если не получилось узнать версию от API Фактора
FACTOR_API_WEB_CONTEXT_PREFIX = "factor-service"                               # Опционален. Выставляется, если у заказчика Фактора используется нестандартный URL (например "service-renaissance", вместо "factor-service-renaissance")

# Настройки Подсказок
SUGGESTIONS_DICTIONARY_HOME="..."                                              # Путь к каталогу справочников Подсказок
SUGGESTIONS_USERNAME="suggestions"                                             # Имя пользователя, под которым работают Подсказки
SUGGESTIONS_API_HOST="..."                                                     # Хост, на котором работает API Подсказок (если отличается от localhost)
SUGGESTIONS_API_PORT="..."                                                     # Порт, на котором работает API Подсказок
SUGGESTIONS_API_PASSWORD="..."                                                 # Пароль пользователя API Подсказок (если включена авторизация в админку)
SUGGESTIONS_HTTPS="true"                                                       # Включение HTTPS протокола для запросов к API Подсказок
SUGGESTIONS_BUILD="24.1"                                                       # Выставление версии Подсказок вручную. Берется, если не получилось узнать версию от API Подсказок

# Настройки Единого клиента / Единого адреса
CDI_DICTIONARY_HOME="..."                                                      # Путь к каталогу справочников Единого клиента
CDI_USERNAME="cdi"                                                             # Имя пользователя, под которым работает Единый клиент
CDI_API_USERNAME="..."                                                         # Имя пользователя API Единого клиента с ролью ROLE_ADMINISTRATOR
CDI_API_PASSWORD="..."                                                         # Пароль пользователя API Единого клиента
CDI_API_HOST="..."                                                             # Хост, на котором работает API Единого клиента (если отличается от localhost)
CDI_API_PORT="..."                                                             # Порт, на котором работает API Единого клиента
CDI_HTTPS="true"                                                               # Включение HTTPS протокола для запросов к API Единого клиента
CDI_BUILD="24.1"                                                               # Выставление версии ЕК вручную. Берется, если не получилось узнать версию от API ЕК

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

unset ARTIFACTORY_HOST
unset ARTIFACTORY_LOGIN
unset ARTIFACTORY_PASSWORD
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

Настройка справочников

Для базовых справочников дополнительных настроек не требуются, они настроены по умолчанию. Если же требуется изменить настройки базовых справочников или добавить кастомный, то необходимо добавить внешний файл dictionaries.json, где указать нужные параметры.

Пример для каждого продукта:

dictionaries.json
[
  {
    "tag": "cdi_egrnorm",
    "path": "ru/hflabs/factor/dictionary/egr-cdi-norm",
    "local_path": "egr",
    "name_tmpl": "egr-cdi-norm-%s.dic",
    "task_name": "EgrDictionaryImport"
  },
  {
    "tag": "factor_flatarea",
    "path": "ru/hflabs/factor/index/index_flatArea",
    "name_tmpl": "index_flatArea-%s-%%s.idx",
    "with_build_version": true,
    "factor_name": "flatArea"
  },
  {
    "tag": "suggestions_iso3166",
    "path": "ru/hflabs/suggestions/iso3166",
    "local_path": "address/iso3166",
    "name_tmpl": "iso3166-%s.zip",
    "dictionary_update_task_name": "address"
  }
]

Настраиваемые параметры:

НазваниеОписаниеЗначение по умолчанию
tagНазвание справочника в формате "продукт_имя".
Продукт может принимать одно из трёх значений: cdi, factor, suggestions

pathПуть к директории с разными версиями этого словаря в Artifactory после значения ARTIFACTORY_PATH из конфига updater.env
local_pathПуть относительно домашней директории продукта (FACTOR_DICTIONARY_HOME / SUGGESTIONS_DICTIONARY_HOME / CDI_DICTIONARY_HOME), куда нужно положить справочник.
Если пустой, справочник будет размещен прям в ней.

name_tmplШаблон имени справочника.
В него будет подставляться версия (в формате yyyymmdd) и, если предусмотрено, билд продукта

with_build_versionИспользуется для простановки в шаблон (name_tmpl) билда продуктаfalse
unzipТребуется ли распаковка справочника после скачивания.
Для всех справочников Подсказок распаковка по умолчанию не требуется, т.к. Подсказки 22.9+ умеют индексировать справочники без распаковки.
false
incrementНе удалять предыдущие версии (т.е. не очищать папку). false
depends_on

Указывает на конфиг другого словаря (обязательно должен присутствовать).

Позволяет перекрыть параметры.


task_name
Название задачи в Едином клиенте / Едином адресе, которую надо вызвать через API во время команды update
EgrDictionaryImport
factor_name
Значение dictionary.name для справочников Фактора, для которого будет запущено через API горящее обновление во время команды update
dictionary_update_task_name

Переопределение названия справочника в команде update для API Подсказок.

 

external

Определяет, является ли справочник внешним, влияет на update и unzip.

Предусмотрено использование только для словарей suggestions, чтобы можно было заиспользовать с другими, нужны доработки.

false

custom_artifactory_path

Определяет кастомный путь в артифактори, применяется только для этого словаря. Пока экспериментальная настройка

 


  • No labels