2014-11-24 3 views
0

Я хотел бы знать, что может сделать Jenkins игнорировать ошибку компиляции и закончить работу с успешным статусом?Jenkins Build не работает

Мы используем Jenkins v1.590 с Maven 1.0.2 (на данный момент нет выбора) и SVN. Наш проект является веб-приложением, и он подразделяется на 5 модулей Maven. 4 модуля/проекты Java, которые производят банки и 1 модуль, который создает войну.

Вот пример ошибки компиляции, которая должна завершиться с телосложением войны:

C:\DevTools\workspace-Jenkins\xxxxx_Construction_du_War_3_18_x\src\main\java\com\.....\servlet\command\compte\RemboursementAnnuler.java:54: annulerReglement(com.........base.ReglementBean,java.lang.String,com.........securite.BusinessUtilisateurBean) in com......transaction.compte.Compte cannot be applied to (com......base.ReglementBean,com.......metier.securite.BusinessUtilisateurBean) 
       : new Compte().annulerReglement(reglementBean, businessUtilisateurBean); 
           ^
Note: Some input files use or override a deprecated API. 
Note: Recompile with -Xlint:deprecation for details. 
Note: Some input files use unchecked or unsafe operations. 
Note: Recompile with -Xlint:unchecked for details. 
2 errors 

BUILD FAILED 
File...... C:\.maven\cache\maven-java-plugin-1.5\plugin.jelly 
Element... ant:javac 
Line...... 63 
Column.... 48 
Compile failed; see the compiler error output for details. 
Total time: 33 seconds 
Finished at: Mon Nov 24 18:54:39 CET 2014 

Finished: SUCCESS 

Почему Дженкинс не может обнаружить себя неудачу? Может ли быть что-то с кодом выхода Maven 1?

Я пробовал с одним из проектов, которые строят банку, и это та же проблема.

Любой ключ?

спасибо заранее.

[EDIT] Мое решение: Вдохновленный предложение от @Jigar Joshi, я просто заменил Maven шаг за простой пакетной команды вызывающей maven clean ... (потому что с Maven 1, по умолчанию имя команды построить maven, а не mvn). Я сделал это в каждом из моих модулей/заданий, и теперь каждая ошибка компиляции должным образом сообщается по мере сбоя сборки. Проблема была в действительности кодом возврата команды Maven.

Перед тем, чтобы быть в состоянии назвать maven.bat в работу, я должен был установить Maven 1.0.2 в классическом месте (например c:\DevTools\maven-1.0.2), установите переменную окружения MAVEN_HOME, чтобы указать на это место, а также добавил %MAVEN_HOME%\bin к PATH переменной окружения , Затем я перезапустил машину, чтобы позволить Дженкинсу все это учитывать, и теперь все в порядке.

+0

как настроен ваш проект Дженкинс? –

+0

Какой тип шага сборки вы используете - шаг сборки Maven или командный шаг оболочки/Windows, который вызывает mvn? –

+0

@Jigar Joshi: Что ты имеешь в виду? Во всяком случае, я думаю, что у меня есть трек ... Я только что видел в помощи целей Maven (в настройке задания Дженкинса), что некоторые версии Maven имеют плохой код возврата! Но не указано, как обойти это ... –

ответ

1

Это может быть проблема с Дженкинс Maven плагин, я предпочел бы настроить Дженкинс свободный стиль проекта и вызывать mvn из Баш непосредственно, что статус пути выхода не будет проблемой

+0

Спасибо большое. –