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
Si echa un vistazo a la lista de complementos compatibles con pipeline , verá que el complemento Jenkins JaCoCo fue compatible , pero sin ninguna actualización de la documentación, excepto la https://wiki.jenkins-ci.org/display/JENKINS/JaCoCo+Plugin :
Versión 2.1.0 (29 de septiembre de 2016)
JENKINS-27120 Adición de soporte de flujo de trabajo para el editor JaCoCo
probablemente porque su uso es simple y similar al uso de muchos otros pasos:
step([$class: ''JacocoPublisher'', ...])