Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Hfl

Внутреннюю документацию от разработчиков и код можно найти в репозитории

А собрать свежую сборку в тимсити

Оглавление

Установка

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

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

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

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

Предупреждение
titleВажно

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

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

Блок кода
languagebash
su - updater
cd /opt/updater
./updater generate config

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

Блок кода
languagebash
mv config updater.env

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

Раскрыть
titleОписание настроек в updater.env

Включить страницу
Настройка

Блок кода
languagebash
title
updater.env

# Путь к Artifactory по умолчанию: # ARTIFACTORY_PATH="https://maven.hflabs.ru/artifactory/repo" # Если есть локальное зеркало Artifactory, достаточно раскрыть эту переменную, # чтобы Апдейтер переключился с maven.hflabs.ru на локальное зеркало, например: # ARTIFACTORY_PATH="http://maven.mycorp.ru/artifactory/hflabs-maven-remote" # Логин и пароль для авторизации в Artifactory в формате "user:password" ARTIFACTORY_BASIC_AUTH="..." # Управление проверкой сертификата Artifactory. # По умолчанию значение true. CHECK_CERTIFICATE="..." # Ограничивает скорость скачивания словарей (указывается в килобайтах в секунду). # Значение по умолчанию - 0 (без ограничений). DOWNLOAD_RATE_LIMIT=0 # Настройки подключения к прокси-серверу в формате 'http://user:password@ipaddress:port' HTTP_PROXY='http://...' # Таймаут подключений по HTTP в секундах (по умолчанию 10) HTTP_TIMEOUT=... # Количество попыток переподключения при загрузке (по умолчанию 5) DOWNLOAD_RETRIES=... # Использовать ли команду chown для изменения прав (по умолчанию false) WITH_ROOT="false" # Уровень логирования - ERROR, WARN, INFO, DEBUG (по умолчанию INFO) LOGGING_LEVEL="INFO" # Путь к каталогу user_lib Фактора, включая сам user_lib FACTOR_DICTIONARY_HOME="..." # Имя пользователя, под которым работает Фактор FACTOR_USERNAME="..." # Хост, на котором работает API Фактора (если отличается от localhost) FACTOR_API_HOST="..." # Порт, на котором работает API Фактора FACTOR_API_PORT="..." # Имя заказчика в адресе к Фактору http://host:18080/factor-service-<имя заказчика> FACTOR_API_TAG="..." # Путь к каталогу справочников Подсказок SUGGESTIONS_DICTIONARY_HOME="..." # Имя пользователя, под которым работают Подсказки SUGGESTIONS_USERNAME="..." # Хост, на котором работает API Подсказок (если отличается от localhost) SUGGESTIONS_API_HOST="..." # Порт, на котором работает API Подсказок SUGGESTIONS_API_PORT="..." # Пароль пользователя API Подсказок (если включена авторизация в админку) SUGGESTIONS_API_PASSWORD="..." # Путь к каталогу справочников Единого клиента CDI_DICTIONARY_HOME="..." # Имя пользователя, под которым работает Единый клиент CDI_USERNAME="..." # Имя пользователя API Единого клиента CDI_API_USERNAME="..." # Пароль пользователя API Единого клиента CDI_API_PASSWORD="..." # Хост, на котором работает API Единого клиента (если отличается от localhost) CDI_API_HOST="..." # Порт, на котором работает API Единого клиента CDI_API_PORT="..."

Настройка updater.env

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

Раскрыть
titleunset_env.sh
Блок кода
languagebash
unset ARTIFACTORY_HOST
unset ARTIFACTORY_LOGIN
unset ARTIFACTORY_PATHPASSWORD
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

Hfl

Сгенерировать файл конфигурации с полным перечнем базовых справочников

...

можно командой:

Блок кода
languagebash
su - updater
cd /opt/updater
./updater generate dicts

Будет создан файл dicts.

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

[ { ####### обязательные поля ####### # название справочника в формате "продукт_имя", продукт может принимать одно из трёх значений:cdi, factor, suggestions "tag":"suggestions_eas", # путь к директории с разными версиями этого словаря в Artifactory после значения ARTIFACTORY_PATH из конфига updater.env "path":"ru/hflabs/dictionary/sgt-gar-eas/", # путь от домашней директории продукта, куда нужно положить справочник (в данном случае от значения SUGGESTIONS_DICTIONARY_HOME) "local_path":"address", # шаблон имени словаря. В него будет подставляться версия (в формате yyyymmdd) и, если предусмотрено, билд продукта "name_tmpl":"sgt-gar-eas-%s.zip", # для справочников «Фактора» указывать dictionary.name из документации https://confluence.hflabs.ru/pages/viewpage.action?pageId=786235560   "factor_name": "changeMobileProvider" ####### необязательные поля ####### # требуется ли распаковка справочника после скачивания. Для всех справочников Подсказок распаковка по умолчанию не требуется, т.к. Подсказки 22.9+ умеют индексировать справочники без распаковки. "unzip":true, # используется для простановки в шаблон (name_tmpl) билда продукта (по умолчанию false) "with_build_version":false, # не удалять предыдущие версии, т.е. не очищать папку (по умолчанию false) "increment":false, # определяет кастомный путь в артифактори, применяется только для этого словаря      "custom_artifactory_path":"", # определяет, является ли справочник внешним, влияет на update и unzip, предусмотрено использование только для словарей suggestions      "external":false, # переопределение названия справочника в команде update для API Подсказок и Единого клиента (необходимо для suggestions_eas, например)       "dictionary_update_task_name":"address" } ]

Раскрыть
titleОписание основных настроек в Настройка dictionaries.json

Включить страницу
Настройка dictionaries.json
Настройка dictionaries.json

Блок кода
languagebash
titledictionaries.json