2008-12-22 27 views
11

Các dự án Hudson của tôi dường như không tổng hợp kết quả kiểm tra hạ lưu và tôi tự hỏi liệu tôi có bỏ lỡ một bước cấu hình nào đó không. Tôi có hai dự án, Foo và Foo-Tests, cả hai đều là công việc tự do.Các vấn đề với "Kết quả thử nghiệm hạ lưu tổng hợp" ở Hudson

On Foo dự án tôi có cấu hình như sau:

  • Checked "Kết quả kiểm tra hạ lưu tổng hợp".
  • Đã chọn "Tự động tổng hợp tất cả các bài kiểm tra hạ lưu" trong tùy chọn trước đó.
  • Đã chọn "Xây dựng các dự án khác" và chỉ định "Foo-Tests" được chỉ định để xây dựng.

Mở dự án Foo-Các xét nghiệm tôi có cấu hình như sau:

  • Checked "Xuất bản kết quả kiểm tra JUnit báo cáo" và quy định các file XML báo cáo JUnit tôi.

Khi Foo xây dựng, nó xây dựng thành công và chính xác sẽ kích hoạt xây dựng Foo-Tests. Việc xây dựng Foo-Tests thành công và xuất bản các báo cáo JUnit một cách chính xác. Tuy nhiên, khi tôi tìm kiếm kết quả kiểm tra tổng hợp trong Foo, có liên kết "Kết quả kiểm tra mới nhất (không có kiểm tra)" cho bản dựng gửi cho tôi tới 404.

Đây là những gì tôi đã cố gắng không giải quyết vấn đề:

  • Yêu cầu Foo "xuất bản báo cáo kết quả kiểm tra JUnit" không có tham số (không có thử nghiệm trong dự án Foo, chỉ Foo-Tests). Điều này gây ra lỗi vì không có tệp thử nghiệm nào để xử lý trong dự án.
  • Báo cho Foo-Tests biết "Dấu vân tay tất cả các hiện vật đã xuất bản" không có tham số (Tôi đã tự hỏi liệu Hudson có xử lý các báo cáo JUnit dưới dạng hiện vật đằng sau hậu trường) hay không. Điều này gây ra lỗi vì tôi đã không xác định rõ ràng bất kỳ tạo phẩm nào để xuất bản.

Tôi đang sử dụng Hudson 1.266.

Edit: tôi nên lưu ý rằng tôi đã tìm thấy hai câu hỏi trên Users Hudson danh sách gửi thư mà không có câu trả lời và có thể sẽ giúp giải quyết này:

+0

Tôi cũng gặp vấn đề khi nhận kết quả kiểm tra của Hudson. Đáng buồn thay, danh sách gửi thư của người dùng không phản hồi về điều này. Bạn đang sử dụng các công việc tự do hay maven2? –

+0

Công việc tự do. Tôi cũng đã tìm thấy hai câu hỏi trong danh sách gửi thư không có phản hồi. Tôi nhận thấy rằng một trong số đó là của bạn :). –

Trả lời

3

Tôi đã có thể tái tạo sự cố của bạn với Hudson 1.266. Đây là lỗi Hudson, được sửa trong một phiên bản sau (trước 1.287), do đó, hoặc nâng cấp Hudson hoặc sử dụng cách giải quyết hai lần nhấp chuột này: từ trang Dự án, trước tiên đến Phiên bản mới nhất và sau đó là Kết quả thử nghiệm tổng hợp.

Vấn đề là trang Dự án cho Foo chỉ hiển thị liên kết Kết quả thử nghiệm mới nhất, có URL giống như http://localhost:8080/hudson-1.266/job/Foo/lastBuild/testReport/. Vì Foo không có kiểm thử riêng của mình, liên kết này không có tệp XML JUnit nào để tham chiếu và trả về lỗi bạn đã đề cập. Điều này đã được sửa chữa ở đâu đó giữa 1.266 và 1.287 bằng cách chuyển hướng từ latestBuild/testReport/sao lưu lên latestBuild/khi không có kiểm tra. Việc thay thế cho bạn trong 1.266 là, thay vì nhấp vào Kết quả kiểm tra mới nhất trong trang Dự án, cuộn xuống một chút và bấm vào Xây dựng mới nhất dưới Permalinks.Điều này sẽ đưa bạn đến phiên bản mới nhấtBuild/URL và từ đó bạn có thể nhấp vào Kết quả thử nghiệm tổng hợp, có URL giống như http://localhost:8080/hudson-1.266/job/Foo/lastBuild/aggregatedTestReport/. Trên trang này, tất cả các kết quả thử nghiệm của bạn từ các dự án hạ nguồn sẽ có sẵn trong phần Drill Down.

Thật không may, vẫn có sự cố với liên kết Drill Down, ngay cả trong 1,287. Từ Foo, khi bạn đi sâu vào Foo-Tests như được nêu ở trên, bạn sẽ được đưa đến URL không đúng định dạng, trông giống như http://localhost:8080/hudson-1.287job/Foo-Tests/. Bạn sẽ phải sửa đổi URL đó theo cách thủ công để chèn/giữa ngữ cảnh hudson và đường dẫn công việc theo sau để nó trông giống như http://localhost:8080/hudson-1.287/job/Foo-Tests /. Sau đó, bạn sẽ có thể thực sự thấy kết quả kiểm tra ở hạ lưu.

Tôi chưa có cơ hội để xem qua nguồn Hudson để tìm lỗi, nhưng đã xảy ra sự cố khi mở. issue 1574 của nó, và nó được mở trong gần một năm.

Trên một lưu ý phụ, tôi thực sự yêu Hudson cho CI, nhưng giao diện của họ không phải là trơn tru như nó có thể được. Tôi mong được làm lại giao diện người dùng trong ExtJS. Có lẽ đó là những gì họ đang dành tất cả thời gian của họ trên.

+0

Cảm ơn câu trả lời, điều này thật tuyệt vời. Tôi sẽ có cơ hội thử nó vào ngày mai. –

+0

Không sao cả. Tôi sẽ bình luận lại nếu tôi tìm thấy vị trí của lỗi trong nguồn. –

+0

Điều này không hoàn toàn phù hợp với tôi. Tuy nhiên, tôi nghĩ câu trả lời này là đủ cho hầu hết mọi người sẽ gặp phải vấn đề này. Ngoài ra, tham chiếu đến vấn đề JIRA đã được mở là một tham chiếu bên ngoài tốt để theo dõi. Tôi sẽ đánh dấu cái này được chấp nhận. Cảm ơn bạn đã giúp đỡ. –

2

Tôi cố định '/' vấn đề còn thiếu trong Hudson 1,288

Chìa khóa để sử dụng các bài kiểm tra ở hạ nguồn tổng hợp kết quả là chạy fingerprinting trên cả hai công việc. Trong trường hợp này, đó sẽ là 'Foo' và 'Foo-tests'

Hudson so khớp bản dựng với thử nghiệm hạ lưu bằng cách tìm tệp có vân tay giống hệt nhau. Vì vậy, điều này có nghĩa là dấu vân tay của bạn phải khớp. Loại giống như một hiện trường vụ án.

2

hai dự án, Foo và Foo-Test, phải biết họ đang ở trên cùng một luồng, vì vậy nó có dấu vân tay (và do đó lưu trữ) của một tập tin phổ biến .

tôi phải chọn một tệp không thay đổi giữa hoạt động của Foo và Foo-Test và vẫn thay đổi giữa các lần cả hai lần chạy. đối với tôi đó là một .jar không liên quan, tạm thời được tạo ra bởi Foo trong không gian làm việc tùy chỉnh/phổ biến cho các phiên bản Foo và Foo-Test của tôi.

tức là, tôi phải để cả tệp Foo và Foo-Test cùng một tệp.

sau đó, ít nhất với hudson 1.330, mọi thứ hoạt động - liên kết tổng hợp, chi tiết, v.v.

+0

Ingvald, bạn có thể làm rõ, nó có phải là tệp * cùng * hoặc một tệp có cùng nội dung không? Có nên để Hudson sử dụng không gian làm việc chung cho việc này và chia sẻ nó giữa hai công việc không? – Artem

+0

Artem, nó phải là cùng một tập tin, có, không chỉ nội dung giống hệt nhau. chia sẻ không gian làm việc có thể là một ý tưởng tốt lúc đầu, ít nhất là vì bạn tiết kiệm thời gian khi cập nhật từ hệ thống SCM của bạn (ít vấn đề khi bạn nâng cấp hệ thống CI lên máy tính của riêng mình hoặc thêm nô lệ). con: mối quan hệ trực tiếp ít hơn giữa việc xây dựng không thành công và các cam kết cụ thể, f.ex. nếu bạn muốn gửi email tới (các) nhà phát triển đã gây ra lỗi xây dựng. – Ingvald

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