2011-12-15 21 views
7

Necesito cambiar dónde se guardan las descargas del repositorio. No puedo usar el inicio del usuario porque mi compilación se ejecuta en un servicio en la nube que no lo conserva.Cambiar la ubicación del repositorio local de gradle para la compilación en la nube de Jenkins

Esto está causando que mis deps se descarguen una y otra vez y está masticando una gran cantidad de tiempo de nube.

estoy usando Gradle 1,0 hito 5 y mi fichero de construcción tiene la siguiente configuración repos:

repositories { 
    mavenLocal() 
    mavenRepo urls: ['http://repo1.maven.org/maven2/', 'http://test-utils.googlecode.com/svn/maven-repo/snapshots'] 
    flatDir(name: 'fileRepo', dirs: "$projectDir/libs") 
} 

(He cambiado de prueba-utils para ocultar algunos lib prueba de que estoy metiendo).

me han añadido este ejecutar el paso sh antes de construir Gradle:

env GRADLE_USER_HOME="${WORKSPACE}" 
export GRADLE_USER_HOME="${WORKSPACE}" 

Pero los deps debe ser descargado en otro lugar todavía a causa del espacio de trabajo de mi Jenkins acumulación no tiene ningún deps descargados en él, pero tiene algunos archivos temp gradle en él.

¿Alguna idea de cómo puedo asegurarme de que los deps descargados se coloquen en $ WORKSPACE para que pueda evitar estas descargas todo el tiempo?

+0

¿Seguro que no están en una carpeta '$ {WORKSPACE} /. Gradle'? –

+0

Hay cosas gradle allí pero no había caché. – Steven

+0

No está realmente relacionado con su problema, pero esa línea 'env' no hace lo que quiere que haga y es redundante. – clacke

Respuesta

14

La definición de GRADLE_USER_HOME debería hacer el truco.

Configuración GRADLE_USER_HOME a ${WORKSPACE} pondrá varios directorios bajo ${WORKSPACE}. Crearía ${WORKSPACE}/gradle-home y establecería GRADLE_USER_HOME en eso.

Compruebe que ${WORKSPACE} se ha resuelto.

También puede intentar configurar el directorio de inicio del usuario de gradle utilizando la opción de línea de comando -g.

+0

Resuelto al configurar el plugin var de environment en jenkins. Tu respuesta es correcta fuera de eso. – Steven

Cuestiones relacionadas