ฉันจำเป็นต้องสร้างและทดสอบกับการกำหนดค่าหลายรายการ: linux, osx และ Solaris ฉันมีโหนดทาสที่มีป้ายกำกับว่า "linux", "osx" และ "solaris" ในแต่ละการกำหนดค่า ฉันต้องการ (a) สร้าง (b) เรียกใช้การทดสอบควัน (c) หากการทดสอบควันผ่าน ให้ทำการทดสอบทั้งหมด และอาจมากกว่านั้น
ฉันคิดว่างานที่มีการกำหนดค่าหลายรายการอาจเป็นคำตอบ ดังนั้นฉันจึงตั้งค่างานบิลด์ที่มีการกำหนดค่าหลายรายการ และจะเริ่มบิลด์พร้อมกันในแต่ละระบบปฏิบัติการ งานสร้างจะทริกเกอร์การสร้างการทดสอบควันแบบดาวน์สตรีม ซึ่งในทางกลับกัน จะทริกเกอร์งานการทดสอบแบบเต็ม
ฉันพบปัญหาต่อไปนี้
หากการกำหนดค่าอย่างใดอย่างหนึ่งล้มเหลว งานโดยรวมจะล้มเหลว และ Jenkins จะไม่เริ่มงานดาวน์สตรีมใดๆ (เช่น หากการสร้าง Solaris ล้มเหลว Jenkins จะไม่เรียกใช้การทดสอบควันหรือการทดสอบแบบเต็มสำหรับ osx และ linux)
การสร้างโซลาริสใช้เวลาประมาณสองเท่าของการสร้างโซลาริสอื่น ๆ (ตามลำดับหนึ่งชั่วโมง) และฉันชอบการทดสอบควันของ linux และ osx โดยไม่รอให้โซลาริสสร้างเสร็จ
นั่นหมายความว่าฉันเหลือแค่งานหัตถกรรมสามท่อด้วยมือ และทิ้งงานเหล่านั้นไว้เบื้องหลังงาน "เริ่มต้นทั้งหมด" (เช่น การสร้างและผูกมัดงานต่อไปนี้ด้วยมือ)?
build-linux smoke-test-linux full-test-linux
build-osx smoke-test-osx full-test-osx
build-solaris smoke-test-solaris full-test-solaris
ฉันพลาดบางสิ่งที่ชัดเจนไปหรือเปล่า?