Üzerinde çalıştığım bir projede, farklı görevleri yürütmek için kabuk betikleri kullanıyoruz. Bazıları rsync çalıştıran sh / bash betikleri, bazıları ise PHP betikleri. PHP betiklerinden biri JUnit XML'e çıktı veren bazı entegrasyon testleri, kod kapsamı raporları ve benzerleri çalıştırıyor.
Jenkins, çıkış durumuna göre işleri başarılı / başarısız olarak işaretleyebilir . In PHP, 1 ile komut çıkış o testleri çalışması sırasında başarısız olduğunu tespit edip etmediğini. Diğer kabuk komut dosyaları komutları çalıştırır ve bir yapıyı başarısız olarak işaretlemek için bunlardan çıkış kodlarını kullanır.
// :: End of PHP script:
// If any tests have failed, fail the build
if ($build_error) exit(1);
Gelen Jenkins terminoloji , kararsız bir yapı olarak tanımlanır:
Başarılı bir şekilde oluşturulmuşsa ve bir veya daha fazla yayıncı kararsız olduğunu bildirdiyse, yapı kararsızdır. Örneğin, JUnit yayımcısı yapılandırılırsa ve bir test başarısız olursa, yapı kararsız olarak işaretlenir.
Kabuk betikleri çalıştırırken Jenkins'in bir yapıyı yalnızca başarılı / başarısız yerine kararsız olarak işaretlemesini nasıl sağlayabilirim?