Dalam sebuah proyek yang saya kerjakan, kami menggunakan skrip shell untuk menjalankan tugas yang berbeda. Beberapa adalah skrip sh / bash yang menjalankan rsync, dan beberapa lagi adalah skrip PHP. Salah satu skrip PHP menjalankan beberapa tes integrasi yang menghasilkan output ke XML JUnit, laporan cakupan kode, dan sejenisnya.
Jenkins dapat menandai pekerjaan sebagai berhasil / gagal berdasarkan status keluar . Di PHP, skrip keluar dengan 1 jika telah mendeteksi bahwa pengujian gagal selama berjalan. Skrip shell lainnya menjalankan perintah dan menggunakan kode keluar dari skrip tersebut untuk menandai build sebagai gagal.
// :: End of PHP script:
// If any tests have failed, fail the build
if ($build_error) exit(1);
Dalam Jenkins Terminology , build yang tidak stabil didefinisikan sebagai:
Sebuah bangunan tidak stabil jika berhasil dibangun dan satu atau beberapa penerbit melaporkannya tidak stabil. Misalnya jika penerbit JUnit dikonfigurasi dan pengujian gagal, maka build akan ditandai tidak stabil.
Bagaimana cara membuat Jenkins menandai build sebagai tidak stabil, bukan hanya berhasil / gagal saat menjalankan skrip shell?