Установка#
Порядок установки#
Сборка дистрибутива продукт 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#
Создать репозиторий в BitBucket и положить в него содержимое архива.
Отредактировать конфигурацию resources/fex/fex-merger.config.yaml, либо создать новую (см п. I).
Создать в Jenkins Job типа Pipeline.
Выбрать „Это - параметризованная сборка“.
Добавить параметр Jenkins Job типа String с именем VERSION.
В случае если имя вашей jenkins Node отличается от „clearAgent“, необходимо добавить параметр Jenkins Job типа String с именем NODE.
В случае если вы создали свой конфигурационный файл (см п. I), необходимо добавить параметр jenkins Job типа String с именем CONFIG_FILE указав имя вашего файла с конфигурацией по умолчанию.
В поле „Pipeline->Definition“ выбрать пункт „Pipeline script from SCM“.
В поле „SCM“ выбрать пункт „git“.
В поле „Repository URL“ указать ссылку на ваш репозиторий, созданный в п.1.
В поле „Credentials“ указать CredentialID для доступа к репозиторию.
В поле „Branch Specifier (blank for „any“)“ указать ветку в репозитории из п.1.
В поле „Script Path“ указать „pipelines/fex/fex-merger.groovy“.
Сохранить Jenkins Job.
Запуск Jenkins Job для распаковки продукта FEX#
В поле VERSION - указать полную версию дистрибутива продукта (включая BuildNumber).
При наличии поля NODE - указать имя желаемой Jenkins Node.
Запустить Jenkins Job.
Результат работы Jenkins Job#
Результатом работы будет:
Собранный дистрибутив продукта FEX, выгруженный в нексус по координатам указанным в параметрах solution.upload.*
Собранные компоненты продукта FEX, выгруженные в нексус по координатам указанным в параметрах components[name].*, в случае если это разрешено параметром components[name].nexusUpload.
Собранные Docker образы, указанные в параметрах fpItems[name].* . В случае если это разрешено параметром components[name].rebuild.
При успешном завершении работы, в теле Jenkins Job будет опубликована таблица с информации о сборках.
Установка компонентов входящих программного продукта#
Установка программного продукта осуществляется в рамках индивидуальной установки каждого компонента, входящего в состав поставки. Порядок установки компонентов продукта не принципиален и может выполняться на усмотрение потребителей.
Параметры и шаги выполнения установки компонентов описаны в документации каждого компонента, входящего в состав продукта (документ Руководство по установке).