Tôi hầu như không bắt đầu sử dụng Jenkins và đây là vấn đề đầu tiên tôi đã có cho đến nay. Về cơ bản công việc jenkins của tôi luôn thành công ngay cả khi một lỗi xảy ra trong một số bài kiểm tra. Đây là những gì tôi đang chạy trong cấu hình shell:Jenkins thành công khi kiểm tra đơn vị thất bại (Rails)
bundle install
rake db:migrate:reset
rake test:units
rake spec:models
Thing là Jenkins chỉ báo cáo thất bại khi tác vụ thất bại là tác vụ cuối cùng. Ví dụ, nếu tôi đặt "kiểm tra rake: đơn vị" nhiệm vụ cuối cùng nó sẽ thông báo lỗi nếu có điều gì đó sai. Sử dụng cấu hình này, tôi chỉ nhận được các báo cáo lỗi cho các thử nghiệm rspec nhưng không nhận được các bài kiểm tra đơn vị.
Bất cứ ai tự hỏi tại sao tôi không chỉ sử dụng thử nghiệm rspec hoặc đơn vị, chúng tôi hiện đang chuyển sang rspec nhưng vấn đề này vẫn còn đau đớn.
Đây là một phần của nhật ký từ Jenkinsm vì bạn có thể thấy một trong các thử nghiệm đơn vị không thành công nhưng jenkins vẫn kết thúc với thành công.
314 tests, 1781 assertions, 1 failures, 0 errors, 0 skips
rake aborted!
Command failed with status (1): [/var/lib/jenkins/.rvm/rubies/ruby-1.9.3-p1...]
Tasks: TOP => test:units
(See full trace by running task with --trace)
Lot of rspec tests here....
Finished in 3.84 seconds
88 examples, 0 failures, 42 pending
Pushing HEAD to branch master of origin repository
Pushing HEAD to branch master at repo origin
Finished: SUCCESS
Bạn đã thực sự đúng, tôi đã có "#!/Bin/bash" là dòng đầu tiên :) –
nếu bạn thêm '#!/Bin/bash -x', bạn có thể nhận được phần mà Jenkins hiển thị lệnh đó chạy trong đầu ra tập lệnh. Thực sự nó chỉ là '-e' mà bạn không muốn từ mặc định của Jenkins' -xe' – ZombieDev