Запуск сборки jenkins на основе метаданных функции karaf

У нас есть несколько заданий по агрегации, которые производят дистрибутивы, подходящие для нашей организации доставки, на основе файлов функций Apache Karaf.

<features name="${project.groupId}/${project.artifactId}/${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.4.0 http://karaf.apache.org/xmlns/features/v1.4.0">

    <feature name="aggregated-bundles" version="${project.version}" start-level="80" install="auto">
        <bundle>mvn:local.example.project/service-bundle/1.0.0-SNAPSHOT</bundle>
    </feature>

</features>

В сочетании с инструментами подключаемого модуля karafs maven они создают пакет tar.gz для передачи по цепочке для тестовых или производственных развертываний.

Однако зависимость от артефакта maven, выраженного в файле функций karafs, естественно, не обнаруживается jenkins в обычном задании maven или конвейере. Конечным результатом является то, что когда включенные пакеты обновлены, а версия функции — нет, как это обычно бывает со снимками, задание агрегации не будет запускаться, а если оно будет запущено вручную без очистки рабочей области, оно не будет содержать обновленных сборок. зависимостей SNAPSHOT.

Как я могу научить Дженкинса моим внешне указанным зависимостям maven?

Я попытался создать файл функций на основе метаданных, но остановился на поддерживаемом варианте использования OSGi для развертывания нескольких версий одного и того же артефакта, что не нравится maven.


person Johan Karlberg    schedule 13.02.2017    source источник


Ответы (1)


Самый простой способ — добавить зависимости к пакетам в pom проекта фичи. Таким образом, maven может отслеживать зависимости.

person Christian Schneider    schedule 13.02.2017