วิธีส่งเจนกินส์บิลด์หลังจากฆ่ากระบวนการจาวาบนรีโมตโฮสต์

ฉันต้องการให้ฉันต้องรันคำสั่ง java java -jar xxxx.jar บนรีโมตโฮสต์ ฉันสามารถรันงานจาวาบนโฮสต์ระยะไกลได้ แต่หลังจากนั้นบางครั้งฉันต้องฆ่ากระบวนการจาวา ดังนั้นฉันจึงสร้างงานอื่นที่ฆ่า Java PID มันฆ่ากระบวนการจาวาบนโฮสต์ระยะไกลได้สำเร็จ แต่งานเจนกินส์ซึ่งรัน 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

แต่ฉันตั้งใจฆ่ากระบวนการจาวาบนรีโมตโฮสต์ ฉันจะผ่านการสร้างเจนกินส์ได้อย่างไร หากใครมีวิธีแก้ปัญหาโปรดช่วยฉันด้วยสถานการณ์นี้ ขอบคุณล่วงหน้า.


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 ของคุณที่ส่วนท้ายของ comamnd --› 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