2016-11-15 18 views
11

Tôi có một loạt các giai đoạn thực hiện kiểm tra nhanh. Tôi muốn thực hiện tất cả, ngay cả khi có thất bại. Ví dụ:Tiếp tục đường ống Jenkins qua sân khấu không thành công

stage('one') { 
    node { 
     sh 'exit 0' 
    } 
} 
stage('two') { 
    node { 
     sh 'exit 1' // failure 
    } 
} 
stage('three') { 
    node { 
     sh 'exit 0' 
    } 
} 

Trường hợp two không thành công, do đó, theo mặc định, giai đoạn three không được thực thi.

Thông thường đây sẽ là công việc cho parallel, nhưng tôi muốn hiển thị chúng ở chế độ xem sân khấu. Trong mô hình bên dưới:

  • Xây dựng # 4 cho thấy điều thường xảy ra. Công việc two không thành công vì vậy three không chạy.
  • I Photoshopped Build # 6 để hiển thị những gì tôi muốn xem. Công việc two không thành công và được hiển thị như vậy, nhưng three vẫn chạy. Jenkins thật có lẽ sẽ hiển thị toàn bộ Build # 6 màu đỏ, tất nhiên là tốt.

Mock up of desired Stage View result

+3

Sử dụng thử/nắm bắt xung quanh giai đoạn 2 –

+3

hoặc tích hợp 'catchError' cũng sẽ đánh dấu đỏ xây dựng trong trường hợp ngoại lệ. – izzekil

+0

Cảm ơn bạn đã nhận xét tuyệt vời @EngineerDollery và @izzekil. Tôi thực sự có thể sử dụng try/catch để ngăn chặn giai đoạn 'hai' khỏi việc dừng đường ống, nhưng bây giờ giai đoạn' hai' được đánh dấu là thành công - nó là màu xanh lục mặc dù nó thực sự thất bại. –

Trả lời

1

này nên làm việc. Tuy nhiên tất cả các hộp đều có màu đỏ nếu chỉ có một hộp không thành công, nhưng bạn có thể thấy các hộp có lỗi được đánh dấu, vì vậy bạn sẽ dễ dàng phân biệt các công việc thất bại.

Các vấn đề liên quan