2016-12-23 52 views
0

我要求我需要在遠程主機上執行java命令java -jar xxxx.jar。我能夠在遠程主機上運行java作業。但有時我需要殺死java進程。所以我創建了另一個殺死java PID的工作。它成功地終止了遠程主機上的java進程。但詹金斯正在運行java罐的工作是失敗如何在遠程主機上殺死java進程後傳遞jenkins build

[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構建。如果有人有解決辦法,請幫助我處理這種情況。提前致謝。

+0

是否沒有其他方式說服您的遠程作業停止,除了殺死進程,就像讓它定期檢查存在的文件?當您使用OS功能殺死JVM時,很難正常退出。 – Gus

回答

0

如果你想忽略遠程ssh發生錯誤,則可以使用|| true

java -jar xxxx.jar || true 
+0

仍然構建失敗。 '[SSH] exit-status:-1 構建步驟'使用ssh執行遠程主機上的shell腳本'標記爲構建失敗 未找到以前的構建... 完成:失敗# – krish

+0

已更新的答案, – richersoon

+0

其實在java命令中我使用的是數據文件。所以我的java命令將如下所示:'java -jar load-behaviors.jar -c test.csv'。我試着在comamnd末尾使用你的'|| true' - >'java -jar load-behaviors.jar -c test.csv || true'因此,在使用此操作後,我從另一個作業中終止了java進程,並且再次失敗,出現 '[SSH] exit-status:-1 構建步驟'使用ssh執行遠程主機上的shell腳本'標記爲失敗 否發現之前的版本... 完成:FAILURE' – krish

0

我有同樣的問題與你,在我的情況下,它固定當我使用

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

檢查構建是否返回退出代碼1,那麼它意味着「真」