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

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
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.

 Если же требуется изменить настройки базовых справочников или добавить кастомный, то необходимо добавить внешний файл dictionaries.json, где указать нужные параметры конфигурации справочников 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