Saya perlu membangun dan menguji beberapa konfigurasi: linux, osx dan solaris. Saya memiliki node budak berlabel "linux", "osx" dan "solaris". Pada setiap konfigurasi, saya ingin (a) membangun (b) menjalankan pengujian asap (c) jika pengujian asap berhasil, kemudian menjalankan pengujian penuh, dan mungkin lebih.
Saya pikir pekerjaan multi-konfigurasi mungkin adalah jawabannya, jadi saya menyiapkan pekerjaan pembangunan multi-konfigurasi dan itu memulai pembangunan secara bersamaan di setiap OS. Pekerjaan pembangunan akan memicu pembangunan pengujian asap hilir, yang, pada gilirannya, memicu pekerjaan pengujian penuh.
Saya mengalami masalah berikut
Jika salah satu konfigurasi gagal, tugas secara keseluruhan akan gagal, dan Jenkins tidak akan menjalankan tugas hilir apa pun (misalnya, jika build solaris gagal, Jenkins tidak akan menjalankan pengujian asap atau pengujian penuh untuk osx dan linux).
Pembuatan solaris membutuhkan waktu sekitar dua kali lebih lama dari yang lain (dalam urutan satu jam), dan saya lebih memilih pengujian linux dan osx smoke daripada menunggu hingga pembuatan solaris selesai.
Apakah itu berarti saya hanya punya tiga jalur pekerjaan yang dibuat dengan tangan, dan menempatkannya di belakang pekerjaan "awal dari segalanya" (yaitu, membuat dan merangkai pekerjaan berikut secara manual)?
build-linux smoke-test-linux full-test-linux
build-osx smoke-test-osx full-test-osx
build-solaris smoke-test-solaris full-test-solaris
Apakah saya melewatkan sesuatu yang jelas?