Как передать сборку jenkins после завершения процесса Java на удаленном хосте

У меня есть требование, чтобы мне нужно было выполнить java-команду java -jar xxxx.jar на удаленном хосте. Я могу запустить задание Java на удаленном хосте. Но через некоторое время мне нужно убить процесс Java. Итак, я создал еще одно задание, которое убивает java PID. Он успешно убивает процесс Java на удаленном хосте. Но работа jenkins, на которой работает java jar, терпит неудачу

[SSH] exit-status: -1
Build step 'Execute shell script on remote host using ssh' marked build as failure
[BFA] Scanning build for known causes...
[BFA] No failure causes found
[BFA] Done. 0s
No previous build found...
Finished: FAILURE

Но я намеренно убиваю процесс Java на удаленном хосте. Как пройти сборку jenkins. Если у кого-то есть решение, пожалуйста, помогите мне в этой ситуации. Заранее спасибо.


person krish    schedule 23.12.2016    source источник
comment
Нет ли другого способа убедить вашу удаленную работу остановиться, кроме как убить процесс, например, периодически проверять наличие файла? Будет сложно выйти изящно, когда вы используете функциональные возможности ОС для уничтожения JVM.   -  person Gus    schedule 23.12.2016


Ответы (2)


Если вы хотите игнорировать ошибку, возникшую на удаленном ssh, вы можете использовать || true

java -jar xxxx.jar || true
person richersoon    schedule 23.12.2016
comment
все равно сборка не удалась. [SSH] exit-status: -1 Build step 'Execute shell script on remote host using ssh' marked build as failure No previous build found... Finished: FAILURE - person krish; 23.12.2016
comment
На самом деле в команде java я использую файл данных. поэтому моя java-команда будет выглядеть так... java -jar load-behaviors.jar -c test.csv . Я попытался использовать ваш ||true в конце команды --> java -jar load-behaviors.jar -c test.csv || true, поэтому после этого я убил процесс java из другого задания, и снова он потерпел неудачу с [SSH] exit-status: -1 Build step 'Execute shell script on remote host using ssh' marked build as failure No previous build found... Finished: FAILURE - person krish; 23.12.2016

у меня была такая же проблема с вами, в моем случае это исправлено, когда я использую

java -jar xxxx.jar || if [ $? -ne 1 ]; then true; fi

проверьте, не вернула ли сборка код выхода 1, тогда это означает «истина»

person Agus Prasetiyo    schedule 02.10.2017