ในโปรเจ็กต์ที่ฉันกำลังทำอยู่เรากำลังใช้เชลล์สคริปต์เพื่อดำเนินการงานต่างๆ บางสคริปต์เป็นสคริปต์ sh / bash ที่รัน rsync และบางสคริปต์เป็น PHP สคริปต์ PHP ตัวหนึ่งกำลังเรียกใช้การทดสอบการรวมบางอย่างที่ส่งออกไปยัง JUnit XML รายงานการครอบคลุมโค้ดและสิ่งที่คล้ายกัน
เจนกินส์สามารถทำเครื่องหมายงานที่ประสบความสำเร็จ / ล้มเหลวขึ้นอยู่กับสถานะทางออก ในPHP สคริปต์จะออกด้วย 1หากตรวจพบว่าการทดสอบล้มเหลวระหว่างการรัน เชลล์สคริปต์อื่น ๆ รันคำสั่งและใช้โค้ดออกจากโค้ดเหล่านั้นเพื่อทำเครื่องหมายบิลด์ว่าล้มเหลว
// :: End of PHP script:
// If any tests have failed, fail the build
if ($build_error) exit(1);
ในJenkins Terminologyโครงสร้างที่ไม่เสถียรถูกกำหนดให้เป็น:
บิวด์ไม่เสถียรหากสร้างสำเร็จและผู้เผยแพร่อย่างน้อยหนึ่งรายรายงานว่าไม่เสถียร ตัวอย่างเช่นหากกำหนดค่าผู้เผยแพร่ JUnit และการทดสอบล้มเหลวโครงสร้างจะถูกทำเครื่องหมายว่าไม่เสถียร
ฉันจะทำให้เจนกินส์ทำเครื่องหมายบิลด์ว่าไม่เสถียรแทนที่จะเป็นเพียงความสำเร็จ / ล้มเหลวเมื่อเรียกใช้เชลล์สคริปต์ได้อย่างไร