thiết lập của tôi là:Làm cách nào để tạo các plugin Jenkins, Sonar và JaCoCo cùng nhau cho các dự án Plugin Tycho của Eclipse (hoặc có thể là Cobertura)?
- Jenkins 1,448
- Sonar 2.13
- Jenkins Sonar Plugin 1,72
- một cơ sở dữ liệu MySql cho Sonar
Tôi có dự án sau:
- Dự án trình cắm Eclipse
- sử dụng Maven
- nhiều mô-đun (dự án maven phụ huynh, dự án cắm nguồn, dự án đoạn thử nghiệm)
- một thử nghiệm JUnit đơn giản thử nghiệm một lớp học của các dự án mã nguồn Plugin
gì quá trình này là tại thời điểm:
- Jenkins kiểm tra ra các dự án cha mẹ từ SVN
- Jenkins xây dựng các dự án và các module của nó sử dụng Maven và Tycho
- Jenkins sử dụng chắc chắn để thực hiện các cuộc thử nghiệm và sản xuất một báo cáo
- Jenkins sử dụng các plugin Jenkins Sonar để bắt đầu sonar mvn: sonar để thực hiện phân tích mã
- phân tích mã tĩnh được thực hiện trên mỗi module
- JaCoCo thất bại
Sonar có sẵn số liệu thống kê phân tích mã tĩnh và kiểm tra tỷ lệ phần trăm thành công. Điều duy nhất bị thiếu là phạm vi mã của JaCoCo ... hoặc thậm chí có thể là mã của Cobertura.
Tôi không thực sự quan tâm vào thời điểm này, tôi chỉ muốn một trong những điều này để tạo ra kết quả bảo hiểm mã.
Cobertura có vẻ là không có khả năng tạo ra kết quả có thể vì một trong hai - nó có thể không cụ mã - có vẻ cho mã instrumented tại địa điểm sai - nó không thể đối phó với Tycho hoặc nguồn riêng biệt/mã kiểm tra thiết lập
JaCoCo sẽ có thể "xem" các mã số bảo hiểm một cách nhanh chóng, nhưng sản lượng của nó là
[INFO] [17:44:04.708] Sensor JaCoCoSensor...
[INFO] [17:44:04.717] Project coverage is set to 0% as no JaCoCo execution data has been dumped: /var/lib/jenkins/jobs/testPlugin/workspace/testSource/target/jacoco.exec
[INFO] [17:44:04.854] Sensor JaCoCoSensor done: 146 ms
[INFO] [17:44:10.587] Sensor JaCoCoSensor...
[INFO] [17:44:10.587] Project coverage is set to 0% as no JaCoCo execution data has been dumped: /var/lib/jenkins/jobs/testPlugin/workspace/testTest/target/jacoco.exec
[INFO] [17:44:10.631] Sensor JaCoCoSensor done: 44 ms
[INFO] [17:44:12.402] Sensor JaCoCoSensor...
[INFO] [17:44:12.402] Project coverage is set to 0% as build output directory doesn't exists: /var/lib/jenkins/jobs/testPlugin/workspace/testParent/target/classes
[INFO] [17:44:12.402] Sensor JaCoCoSensor done: 0 ms
tôi đang làm gì sai? Tôi có cần bật JaCoCo trong tệp pom.xml của mình ở đâu đó không? Tôi có cần chắc chắn không? Tôi cần làm gì để sử dụng Cobertura?
Làm thế nào để nói với Sonar hoặc Cobertura hoặc JaCoCo nơi để tìm kiếm mã instrumented? – danowar