2012-01-03 11 views
6

Estoy intentando configurar una compilación en nuestro servidor Jenkins para ejecutar un fork del proyecto hibernate-core.Por qué no ejecutar gradle desde un trabajo de jenkins

He podido hacer que Jenkins haga el clon git para obtener un repositorio local de mi bifurcación github, pero cuando Jenkins intenta ejecutar el comando 'gradlew' falla.

Al ejecutar esta secuencia de comandos directamente desde la carpeta desprotegida, la compilación se ejecuta como se esperaba, pero al ejecutar la secuencia de comandos mediante Jenkins falla.

El trabajo se configura como una configuración Freestyle con la configuración del paso de compilación como un paso "ejecutar shell".

El paso de compilación ejecuta el siguiente comando.

./gradlew clean test install buildReleaseBundles uploadArchives --debug --stacktrace

Parece que se está ejecutando la secuencia de comandos gradlew pero dentro de la clase Descargar Gradle que algo va mal.

Mi script de compilación muestra la siguiente información:

Building on master 
Checkout:workspace//data/hudson/jobs/hibernate-envers-stevemac/workspace - [email protected] 
Using strategy: Default 
Last Built Revision: Revision 7cdb4c829f28c5b029a3d43f50a54d4c89fc9665 (origin/Branch_4.0.0.Final) 
Checkout:workspace//data/hudson/jobs/hibernate-envers-stevemac/workspace - [email protected] 
Fetching changes from 1 remote Git repository 
Fetching upstream changes from https://[email protected]/stevemac007/hibernate-core.git 
Commencing build of Revision 7cdb4c829f28c5b029a3d43f50a54d4c89fc9665 (origin/Branch_4.0.0.Final) 
Checking out Revision 7cdb4c829f28c5b029a3d43f50a54d4c89fc9665 (origin/Branch_4.0.0.Final) 
[workspace] $ /bin/sh -xe /tmp/tomcat6-tmp/hudson9191971611159378903.sh 
+ ./gradlew clean test install buildReleaseBundles uploadArchives --debug --stacktrace 
Downloading http://repo.gradle.org/gradle/distributions/gradle-1.0-milestone-3-bin.zip 

Exception in thread "main" java.io.FileNotFoundException: /usr/share/tomcat6/.gradle/wrapper/dists/gradle-1.0-milestone-3-bin.zip.part (No such file or directory) 
    at java.io.FileOutputStream.open(Native Method) 
    at java.io.FileOutputStream.<init>(FileOutputStream.java:194) 
    at java.io.FileOutputStream.<init>(FileOutputStream.java:145) 
    at org.gradle.wrapper.Download.downloadInternal(Download.java:46) 
    at org.gradle.wrapper.Download.download(Download.java:37) 
    at org.gradle.wrapper.Install.createDist(Install.java:54) 
    at org.gradle.wrapper.Wrapper.execute(Wrapper.java:80) 
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:37) 
Build step 'Execute shell' marked build as failure 
Finished: FAILURE 

Respuesta

3

Como es normal con este tipo de pregunta, el preguntar real de que me hizo volver a leer el mensaje correctamente y buscar el resultado.

Y en este caso toda la información que necesitaba estaba allí.

FileNotFoundException: /usr/share/tomcat6/.gradle/wrapper/dists/gradle-1.0-milestone-3-bin.zip.part (No such file or directory)

La cuestión es que el usuario que ejecuta el trabajo de Jenkins no era el mismo usuario que estaba corriendo el trabajo en el servidor como, y el trabajo no tenían acceso de escritura al directorio/usr/share/tomcat6/carpeta.

La concesión de acceso de escritura para el usuario tomcat6 a/usr/share/tomcat6 permitió la ejecución de este trabajo.

Cuestiones relacionadas