Установка#

Порядок установки#

Сборка дистрибутива продукт FEX#

Настройка параметров для распаковки продукт FEX#

Параметры требуются для настроек координат загрузки/выгрузки продукта, а так же для сопоставления, пересборки и перекладки компонентов продукта FEX. Настройки хранятся по пути resources/fex/ в yaml формате.

Допускается создание произвольного файла с конфигурацией параметров, если есть такая необходимость. Структура файла с произвольной конфигурацией должна соответствовать примерам: fex-merger.config.yaml.

Описание настроек:

solution.download.url - Nexus репозиторий для загрузки продукта FEX
solution.download.groupId - groupId в Nexus репозитории для загрузки продукта FEX
solution.download.artifactId - artifactId в Nexus репозитории для загрузки продукта FEX
solution.download.creds -  СredentialID для доступа к репозиторию Nexus, для загрузки продукта FEX

solution.upload.url -  Nexus репозиторий для выгрузки собранного продукта FEX
solution.upload.groupId - groupId в Nexus репозитории для выгрузки собранного продукта FEX
solution.upload.artifactId - artifactId в Nexus репозитории для выгрузки собранного продукта FEX
solution.upload.creds -  СredentialID для доступа к репозиторию Nexus, для выгрузки собранного продукта FEX

fpItems - Список элементов компонент дистрибутива для пересборки контейнеров. 
  name - имя элемента пересборки. Имя элемента можно найти в дистрибутиве компонента в папке package/docker, каждая папка является отдельным элементом для пересборки. Имя является регистрозависимым параметром и должно точно соответствовать имени папки.
  dockerRegistryHost -  Host Name репозитория Docker Registry
  dockerRegistryRepo -  Название репозитория Docker Registry
  dockerRegistryCred -  СredentialID для доступа к репозиторию Docker Registry
  dockerRegistryCI - Путь размещения образа
  dockerRegistryProject - Название проекта для размещения образа. Финальный путь будет определяться как dockerRegistryCI/dockerRegistryProject
  dockerRegistryImageName - Название docker образа
  dockerRegistryBaseImageName - Ссылка на базовый образ для пересборки

components - Список компонентов дистрибутива. 
  name - имя компоненты
  patern - шаблон для поиска компоненты в дистрибутиве. Шаблон будет применятся к каждому файлу в дистрибутива. Например если компонент в составе дистрибутива называется 'ftrfdev-bin-2.0.7-7-distrib.zip' , то можно использовать паттерн 'ftrfdev' для идентификации данного компонента.
  rebuild - Значения: enabled/disabled. Пересобирать docker образы компонента или нет
  nexusUpload - Значения: enabled/disabled. Выгружать собранную компоненту в отдельный репозиторий или нет
  url -  Nexus репозиторий для выгрузки собранной компоненты
  groupId - groupId в Nexus репозитории для выгрузки собранной компоненты
  artifactId - artifactId в Nexus репозитории для выгрузки собранной компоненты
  creds -  redentialID для доступа к репозиторию Nexus, для выгрузки собранной компоненты

Создание Jenkins Job для распаковки продукта FEX#

  1. Создать репозиторий в BitBucket и положить в него содержимое архива.

  2. Отредактировать конфигурацию resources/fex/fex-merger.config.yaml, либо создать новую (см п. I).

  3. Создать в Jenkins Job типа Pipeline.

  4. Выбрать „Это - параметризованная сборка“.

  5. Добавить параметр Jenkins Job типа String с именем VERSION.

  6. В случае если имя вашей jenkins Node отличается от „clearAgent“, необходимо добавить параметр Jenkins Job типа String с именем NODE.

  7. В случае если вы создали свой конфигурационный файл (см п. I), необходимо добавить параметр jenkins Job типа String с именем CONFIG_FILE указав имя вашего файла с конфигурацией по умолчанию.

  8. В поле „Pipeline->Definition“ выбрать пункт „Pipeline script from SCM“.

  9. В поле „SCM“ выбрать пункт „git“.

  10. В поле „Repository URL“ указать ссылку на ваш репозиторий, созданный в п.1.

  11. В поле „Credentials“ указать CredentialID для доступа к репозиторию.

  12. В поле „Branch Specifier (blank for „any“)“ указать ветку в репозитории из п.1.

  13. В поле „Script Path“ указать „pipelines/fex/fex-merger.groovy“.

  14. Сохранить Jenkins Job.

Запуск Jenkins Job для распаковки продукта FEX#

  1. В поле VERSION - указать полную версию дистрибутива продукта (включая BuildNumber).

  2. При наличии поля NODE - указать имя желаемой Jenkins Node.

  3. Запустить Jenkins Job.

Результат работы Jenkins Job#

Результатом работы будет:

  1. Собранный дистрибутив продукта FEX, выгруженный в нексус по координатам указанным в параметрах solution.upload.*

  2. Собранные компоненты продукта FEX, выгруженные в нексус по координатам указанным в параметрах components[name].*, в случае если это разрешено параметром components[name].nexusUpload.

  3. Собранные Docker образы, указанные в параметрах fpItems[name].* . В случае если это разрешено параметром components[name].rebuild.

  4. При успешном завершении работы, в теле Jenkins Job будет опубликована таблица с информации о сборках.

Установка компонентов входящих программного продукта#

Установка программного продукта осуществляется в рамках индивидуальной установки каждого компонента, входящего в состав поставки. Порядок установки компонентов продукта не принципиален и может выполняться на усмотрение потребителей.

Параметры и шаги выполнения установки компонентов описаны в документации каждого компонента, входящего в состав продукта (документ Руководство по установке).