jenkins groovy jenkins-plugins jacoco

Cobertura de Jacoco en Jenkins Pipeline



groovy jenkins-plugins (4)

¿Alguien puede sugerir si hay una manera de ejecutar Jacoco en una tubería de Jenkins? He descargado el complemento pero no obtengo la opción para Jacoco en la ''Sintaxis de la tubería'', que es la ayuda del script de la tubería.

Se refirió a esta URL: https://wiki.jenkins-ci.org/display/JENKINS/JaCoCo+Plugin que no tiene información para una tubería de jenkins jacoco


A partir del complemento Jacoco 2.2.1, ahora puede usar jacoco(execPattern: ''target/jacoco.exec'')

Personalmente tengo un par de archivos Jacoco diferentes para diferentes ejecuciones y quería admitir tanto a Maven como a Gradle (así que build/ y target/ directorios), así que uso jacoco(execPattern: ''**/*.exec'') .

Referencia: https://github.com/jenkinsci/jacoco-plugin/pull/83


Después de intentar buscar en Internet un ejemplo sencillo de cómo hacerlo, finalmente encontré la herramienta "paso" en nuestra instancia de Jenkins.

Sabe cómo generar fragmentos de código de canalización Jenkinsfile en función de los complementos y módulos que haya instalado.

El largo y corto de esto es que la entrada básica se ve así:

stage(''Build'') { steps { sh ''./jenkins_build.sh'' junit ''*/build/test-results/*.xml'' step( [ $class: ''JacocoPublisher'' ] ) } }

La documentación de jenkins realmente necesita una actualización con algunos ejemplos de una sola línea.


La configuración del paso de tubería jacoco utiliza este formato:

step([$class: ''JacocoPublisher'', execPattern: ''target/*.exec'', classPattern: ''target/classes'', sourcePattern: ''src/main/java'', exclusionPattern: ''src/test*'' ])

O con una sintaxis más simple para canalización declarativa:

jacoco( execPattern: ''target/*.exec'', classPattern: ''target/classes'', sourcePattern: ''src/main/java'', exclusionPattern: ''src/test*'' )

Puede encontrar más opciones en la Referencia de pasos de tubería de JaCoCo