El trabajo de semillas no crea un MavenJob pero no se reporta ningún error
He creado un caso de prueba Junit jenkins donde se lanza una instancia de jenkins en memoria (como usamos @Rule jenkinsrule). El código del caso de prueba está disponible Aquí.. El caso de prueba creará un FreeStyleProject (= trabajo de semillas) que utilizará como script Groovy DSL un maven. groovy archivo
Pero cuando se ejecuta el caso de prueba, el siguiente mensaje se reporta durante la ejecución de la construcción de empleo. El mensaje informa ghe consecuencia de la importación/parición del ganado Job.groovy archivo como el trabajo espera que se cree un nuevo trabajo.
Legacy code started this job. No cause information is available
Running as SYSTEM
Building in workspace /var/folders/t2/jwchtqkn5y76hrfrws7dqtqm0000gn/T/j h5344303144116520886/workspace/test0
Processing provided DSL script
ERROR: java.io.IOException: Unable to read /var/folders/t2/jwchtqkn5y76hrfrws7dqtqm0000gn/T/j h5344303144116520886/jobs/mvn-spring-boot-rest-http/config.xml
Finished: FAILURE
Y por supuesto, ningún rastro de pila del error es stdout o stderr. ¿Cómo puedo investigar el problema y arreglarlo?
Observación:
Si uso el archivo config.xml e importarlo en una instancia jenkins separada, el trabajo tuvo éxito
config.xml archivo generado, se ve bien (vs mismo config.xml archivo creado con la UI)
xml version='1.1' encoding='UTF-8'?
false
false
false
false
false
false
mavenJob('mvn-spring-boot-rest-http') {
description 'A Maven Job compiling the project Spring Boot Rest HTTP Example'
parameters {
gitParameter {
name 'SELECTED_TAG'
description 'The Git tag to checkout'
type 'PT_TAG'
defaultValue '2.3.4-2'
branch ''
branchFilter 'origin/(.*)'
quickFilterEnabled false
selectedValue 'DEFAULT'
sortMode 'DESCENDING_SMART'
tagFilter '*'
useRepository '.*rest-http-example.git'
listSize '10'
}
}
scm {
git {
remote {
url 'https://github.com/snowdrop/rest-http-example.git'
// branch('$SELECTED_TAG')
branch('2.3.4-2')
}
}
}
rootPOM 'pom.xml'
goals 'clean install'
}
true
false
false
false
false
false
false
IGNORE
IGNORE
IGNORE
JENKINS_ROOT
Muchas gracias por su ayuda.
He creado una discusión de hilo aquí también: https://groups.google.com/g/jenkinsci-users/c/mRSwARFapyA
Charles
Pregunta hecha hace 3 años, 4 meses, 28 días - Por techtactician
3 Respuestas:
-
El problema estaba relacionado con muchas dependencias desaparecidas necesarias para ejecutar el caso de prueba. Actualicé el
build.gradle
archivo y ahora eso funciona.https://github.com/ch007m/jenkins-job-dsl/blob/jenkins-2.271/build.gradle#L53-L72
BTW, el mensaje de error reportado no estaba correlacionado en absoluto a la causa raíz y Cómo solucionar el problema. que debe mejorarse dentro del código ;-)
Respondida el Dec 17, 2020 a las 13:39 - por debugdynamo
Votos positivos: 0 | Votos negativos: 0 -
El error que estás experimentando probablemente se deba a que el archivo
config.xml
suministrado al trabajo no se puede leer correctamente o no se puede encontrar. A continuación se presentan algunos pasos que puedes seguir para investigar y solucionar este problema:- Verifica la ruta del archivo `config.xml`:
- El mensaje de error indica que Jenkins no puede leer `/var/folders/t2/jwchtqkn5y76hrfrws7dqtqm0000gn/T/j h5344303144116520886/jobs/mvn-spring-boot-rest-http/config.xml`. Verifica si este archivo está presente en esa ubicación y si tiene los permisos adecuados para que Jenkins lo lea.
- Verifica los permisos de lectura del archivo:
- Si es necesario, cambia los permisos del archivo para que Jenkins pueda acceder a él.
- Comprueba la validez del archivo `config.xml`:
- Puedes intentar abrir el archivo `config.xml` en un editor de texto para asegurarte de que no haya ningún problema con la estructura del archivo.
- Revisa la configuración del trabajo de semillas:
- Verifica que no haya ningún error en la definición del trabajo de semillas que esté causando el problema al generar el archivo `config.xml`.
Siguiendo estos pasos, podrás investigar y resolver el problema con la lectura del archivo
config.xml
durante la ejecución de tu trabajo de semillas en Jenkins. ¡Espero que esta información te sea útil para solucionar el inconveniente!Respondida el Dec 18, 2020 a las 13:40 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
Versión corta:
La causa probable es que el trabajo de semillas no tiene intención de crear un MavenJob. El Groovy DSL que se ejecuta desde el trabajo de semillas crea el MavenJob.
Versión larga:
El caso de prueba crea un FreeStyleProject (trabajo de semillas) y utiliza el archivo Groovy DSL
mavenJob.groovy
como script DSL. El archivomavenJob.groovy
crea un MavenJob.Cuando el trabajo de semillas se ejecuta, importa el archivo
mavenJob.groovy
como parte del proceso de construcción del trabajo. Sin embargo, el trabajo de semillas espera crear un FreeStyleProject, no un MavenJob.Como resultado, el trabajo de semillas no puede comprender el archivo
mavenJob.groovy
y genera un error de E/S al intentar leer el archivoconfig.xml
generado por el archivo DSL.Cómo solucionar el problema:
Hay dos formas de resolver este problema:
Opción 1: Cambia el trabajo de semillas a un MavenJob para que pueda comprender el archivo
mavenJob.groovy
. Opción 2: Modifica el archivomavenJob.groovy
para crear un FreeStyleProject en lugar de un MavenJob.Solución recomendada:
Se recomienda utilizar la Opción 1: cambiar el trabajo de semillas a un MavenJob. Esto asegurará que el trabajo de semillas pueda comprender el archivo
mavenJob.groovy
y crear correctamente el MavenJob.Pasos para la Opción 1:
- Cambia el tipo de trabajo de semillas de FreeStyleProject a MavenJob.
- Ejecuta el caso de prueba.
Recomendaciones adicionales:
Verifica el registro de Jenkins para obtener más información sobre el error. Asegúrate de que se instalen los complementos necesarios para ejecutar los archivos DSL (por ejemplo, el complemento
job-dsl
para el archivomavenJob.groovy
). * Utiliza el modo de depuración para rastrear el proceso de construcción del trabajo de semillas y ver dónde se produce el error.Respondida el Dec 18, 2020 a las 13:50 - por Gemini
Votos positivos: 0 | Votos negativos: 0