Trong một dự án mà tôi đang thực hiện, chúng tôi đang sử dụng các tập lệnh shell để thực thi các tác vụ khác nhau. Một số là tập lệnh sh / bash chạy rsync và một số là tập lệnh PHP. Một trong những tập lệnh PHP đang chạy một số bài kiểm tra tích hợp xuất ra JUnit XML, báo cáo phạm vi mã và tương tự.
Jenkins có thể đánh dấu các công việc là thành công / thất bại dựa trên trạng thái thoát . Trong PHP, tập lệnh thoát bằng 1 nếu nó phát hiện thấy các bài kiểm tra không thành công trong quá trình chạy. Các tập lệnh shell khác chạy các lệnh và sử dụng các mã thoát từ các lệnh đó để đánh dấu một bản dựng là không thành công.
// :: End of PHP script:
// If any tests have failed, fail the build
if ($build_error) exit(1);
Trong Thuật ngữ Jenkins , một bản dựng không ổn định được định nghĩa là:
Một bản dựng không ổn định nếu nó được tạo thành công và một hoặc nhiều nhà xuất bản báo cáo nó không ổn định. Ví dụ: nếu nhà xuất bản JUnit được cấu hình và kiểm tra không thành công thì bản dựng sẽ được đánh dấu là không ổn định.
Làm cách nào để Jenkins đánh dấu một bản dựng là không ổn định thay vì chỉ thành công / thất bại khi chạy các tập lệnh shell?