2012-09-11 33 views
7

Tôi đang làm việc trên một dự án .NET sử dụng Jenkins làm máy chủ CI. Máy chủ đang hoạt động như hiện tại nhưng hiện tại tôi đang cố gắng phát ra cảnh báo trong trường hợp mức độ phù hợp mã thấp.Có cách nào để lấy các chỉ số độ bao phủ mã được tạo từ OpenCover về Jenkins không?

Phương pháp mà tôi đang cố gắng là sử dụng Sonar để thực hiện NUnitOpenCover, nhưng tôi cần phải liên kết vùng phủ sóng đang số liệu từ Sonar trở lại Jenkins và đó là nơi mà vấn đề cư trú.

AFAIK báo cáo được tạo từ OpenCover (bảo hiểm-report.xml) như là, không được công nhận từ Jenkins vì vậy những gì tôi đang cố gắng để làm là để làm cho họ nói chuyện bằng một file xsl rằng biến đổi (bảo hiểm -report.xml) đến (emma-report.xml) rằng Jenkins có các plugin hiểu.

Mặc dù tôi không biết đó là cách tiếp cận tốt nhất. Các cách tiếp cận tốt hơn được chào đón nhiều hơn;) Tôi đang gặp sự cố khi nhận số liệu block coverage từ OpenCover (Emma cần số liệu này).

tôi đã quản lý để chuyển đổi tất cả các số liệu khác cần thiết class, %, method, %line, %OpenCover-Emma, nhưng tôi không chắc chắn nếu có thể để có được những block, % từ báo cáo.

Bất cứ ai có thể cho tôi biết nếu có thể hoặc nếu có cách tiếp cận tốt hơn để đạt được những gì tôi đang cố gắng (tức là, làm cho Jenkins phát ra cảnh báo khi độ bao phủ mã thấp hơn một tỷ lệ nhất định)?

Cảm ơn trước! :)

Trả lời

1

Nếu bạn đang chạy OpenCover từ plugin sonar gallio (từ sonar C# ecosystem), một giải pháp đơn giản để nhận cảnh báo về mức độ mã thấp có thể là sonar build breaker plugin. Bạn sẽ nhận được bản dựng bị hỏng khi mức độ phù hợp thấp hơn ngưỡng cảnh báo. Giải pháp này không cho phép để có được đồ thị hoặc xu hướng trong jenkins, nhưng một lần nữa nếu bạn sử dụng sonar, bạn có tất cả mọi thứ trong các bảng điều khiển sonar. Hy vọng nó giúp

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