Сбой сборки Tycho на Jenkins только для триггера SCM

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

Все сборки, инициированные SCM, завершаются сбоем, но все сборки, запускаемые вручную, завершаются успешно.

Версия Дженкинса: Версия Дженкинса. 1.527
Версия Maven: 3.05

У меня есть модульная сборка Tycho:

<modules>
    <module>../main.plugin.test</module>
    <module>../main.plugin.internationalization.at</module>
    <module>../crud.plugin</module>
    <module>../rest.plugin</module>
    <module>../main.plugin</module>
    <module>../main.feature</module>
    <module>../product</module>
    <module>../target-definition</module>
    <module>../rest.plugin.test</module>
</modules>

Jenkins настроен как простая сборка maven с модулями.

Он просто выполняет:

-X clean deploy

При запуске SCM-Build некоторые модули не собираются.

введите здесь описание изображения

Когда я создаю его вручную, все в порядке:

введите здесь описание изображения

Это поведение является последовательным. я уже пробовал

  • переход на другую версию Maven (3.05/3.04)
  • удаление всего рабочего пространства перед построением
  • чистая проверка всех источников
  • запуск -X deploy (без очистки)

Любое количество ручных вызовов завершается успешно. И любое количество триггеров scm терпит неудачу.

Оба журнала Maven выглядят одинаково, пока (работают):

[INFO] Reactor Build Order:
[INFO] 
[INFO] client-master
[INFO] crud-plugin
[INFO] main-plugin
[INFO] ------------.main.plugin.test
[INFO] ------------.main.plugin.internationalization.at
[INFO] rest-plugin
[INFO] main-plugin
[INFO] ------------.product
[INFO] target-definition
[INFO] ------------.rest.plugin.test

и (неудача):

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] main-plugin
[INFO] ------------.plugin.test
[INFO] ------------.main.plugin.internationalization.at
[INFO] rest-plugin
[INFO] main-plugin
[INFO] ------------.product
[INFO] ------------.rest.plugin.test

Таким образом, окончательное сообщение об ошибке:

Caused by: java.lang.IllegalStateException: ------------..client:------------..crud.plugin:eclipse-plugin:1.0.0-SNAPSHOT does not provide an artifact with classifier 'null'

Имена пользовательских модулей заменяются на ------------. в этом вопросе.


person oers    schedule 14.08.2013    source источник
comment
Как точно называется шаг сборки, который вы используете? Какой плагин Jenkins участвует в этом этапе сборки?   -  person oberlies    schedule 15.08.2013


Ответы (1)


Я неоднократно слышал о непонятных проблемах со сборками Tycho на Jenkins. Причина этих проблем, по-видимому, заключается в том, что какой-то плагин Jenkins, запускающий эти сборки, подключается к жизненному циклу Maven, и это каким-то образом противоречит тому, что Tycho делает во внутренних компонентах Maven.

Для проблемы, которую вы описываете, кажется, что используемый вами плагин Jenkins меняет порядок сборки модуля. Это может быть нормально для обычной сборки Maven (где все зависимости объявлены в POM), но может не подойти для сборки Maven/Tycho, где Tycho вычисляет зависимости во время сборки.

Чтобы избежать этой проблемы, вы должны запускать сборку Maven способом, который ближе к обычной сборке из командной строки. Я обнаружил, что шаг сборки Вызвать цели Maven верхнего уровня из плагина интеграции Maven работает без проблем.

person oberlies    schedule 15.08.2013
comment
Спасибо, что указали мне правильное направление. Виновником были инкрементные сборки в настройках jenkins для maven (по крайней мере, я надеюсь, что это было :)). Сейчас сборка идет нормально. - person oers; 15.08.2013
comment
Я не вижу инкрементных сборок в нашем экземпляре. Итак, у вас, похоже, установлен другой плагин Jenkins Maven, чем у меня... - person oberlies; 15.08.2013
comment
У меня есть версия 1.527 jenkins и плагин интеграции maven (все текущие версии), а мои проекты - это проекты Maven 2/3 (я думаю, у вас есть проекты фристайла). Я думаю, что активировал эту функцию случайно, а потом забыл о ней, когда возникли ошибки. - person oers; 15.08.2013