У меня есть файл .Jar, который будет просто загружать данные в базу данных при ее запуске. Я планировал запустить эту работу через Дженкинса. Когда я выполняю задание в Jenkins, он успешно запускает .JAR. Однако скажите, есть ли исключение с нулевым указателем в задании, и оно не завершилось успешно. Даже тогда Дженкинс говорит, что работа «прошла». Как я могу выполнить работу, если во время выполнения задания возникла проблема?Ошибка выполнения задания jenkins
ответ
@ Решение Corey - это хорошо. И если вы не хотите писать JUnit-тест и поддерживать его в Jenkins, вы можете просто сделать то, о чем он упоминал ранее: поймать исключение нулевого указателя (на самом деле, только у вас есть улов верхнего уровня в вашем приложении) и вызовите API для выхода с кодом возврата:
try {
myCode.call();
catch (Exception e) {
System.out.println("An exception was caught at the top level:" + e);
System.exit(-1);
}
В прошлый раз, когда у меня возникла эта проблема, я решил сделать другой подход и сменить вызов программы на тест junit. Тогда Дженкинс был вполне счастлив.
Steps I took:
1. create an empty (maven) project
2. added a single java class SmokeTest.java
3. Added test that called the method I was testing via a script
4. Create a (maven) Jenkins job to run the project
Содержание моего теста:
public class SmokeTest
{
private static final String OK = "OK"; //$NON-NLS-1$
@Test
public void test()
{
// Create a new instance of the Firefox driver
final WebDriver driver = new HtmlUnitDriver();
final String url = PropertyManager.getInstance().getString(PropertyManager.SMOKE_TEST_URL_BASE) + "smoke/smoketest"; //$NON-NLS-1$
AuditLog.registerEvent("Smoke test url is: " + url, this.getClass(), AuditLog.INFO); //$NON-NLS-1$
driver.get(url);
// Find the text element by its id
final WebElement databaseElement = driver.findElement(By.id("database")); //$NON-NLS-1$
final String databaseResult = databaseElement.getText();
Assert.assertEquals(SmokeTest.OK, databaseResult);
//Close the browser
driver.quit();
}
}
Наиболее важной частью здесь является линия "Assert.assertEquals". Результатом этого является срабатывание jUnit и, следовательно, jenkins
как вы это сделали через Junit? –
В моем случае у меня был доступ к исходному коду, поэтому я мог просто вызвать метод и посмотреть возвращение. Если вы действительно хотели взломать, я думаю, вы могли бы открыть банку и попытаться найти, что вызывать из файла манифеста. Извините, что не очень помогает :( –
Я написал код и создал JAR, поэтому у меня есть доступ ко всему .. Итак, что именно нужно делать здесь? Спасибо –
Задания Jenkins завершаются с ошибкой, если код выхода ничего, кроме нуля.
System.exit(1);
Должно работать (или потерпеть неудачу, чтобы быть более точным :-)
- 1. Hadoop ошибка выполнения задания
- 2. Высокое использование процессора jenkins без выполнения задания
- 3. Ошибка выполнения Jenkins
- 4. Ошибка выполнения Jenkins оболочки
- 5. Конфигурационные задания «Jenkins»
- 6. OPENSSL_1.0.1 Ошибка при выполнении задания внутри Jenkins
- 7. Общие задания jenkins
- 8. Jenkins - Резервная конфигурация задания
- 9. Jenkins: вручную отрегулировать порядок выполнения задания в очереди
- 10. Настроить разрешения для выполнения определенного задания в Jenkins
- 11. Сонарный бегун Ошибка выполнения на Jenkins
- 12. Ошибка SSIS во время выполнения задания
- 13. Запустите завиток из задания jenkins
- 14. Отобразить вывод задания в Jenkins
- 15. Выполнение сценария выполнения задания
- 16. Neo4J Время выполнения задания
- 17. Время выполнения задания искры
- 18. Точная точность выполнения задания
- 19. Связать после выполнения задания?
- 20. Ошибка выполнения задания Cron Ошибка загрузки загрузчика ioncube
- 21. Доступ к атрибутам задания Jenkins из другого задания
- 22. Trigger «выполнить maven release» задания jenkins из другого задания
- 23. Как запустить две задания из одного задания в Jenkins
- 24. Проверка выполнения задания без выполнения всех заданий
- 25. Отключить все задания Jenkins из данного Jenkins View/Tab
- 26. Обновление задания Jenkins с помощью API Groovy Jenkins
- 27. Запуск сборки jenkins при завершении задания удаленных jenkins
- 28. Сохранить все задания Jenkins в хранилище
- 29. jenkins pipe - получить переменную окружения из задания
- 30. Отключить все задания Jenkins в папке
Как вы «запустить» .jar файл? –
Это исполняемый фляга. Итак, я jus сделал java -jar writer.jar в jenkins «настроить задание» раздел –
делает банку вызов System.exit? – BevynQ