2012-08-01 15 views
7

Nuestros proyectos maven se basan en una jenkins y luego implementan los artefactos en un repositorio de maven.Jenkins deshabilita o borra el caché para compilaciones de maven

Por alguna razón, sin embargo, parece que hay algún tipo de caché o retraso de actualización cuando se construye un proyecto que tiene dependencias con otros proyectos que acaban de obtener una compilación nueva.

Digamos que hay un error en el artefacto A y B depende de A. Ahora corrijo el error localmente, actualizo mis dependencias en B, ejecuto B y todo está bien. Me registré obviamente. Ahora construyo A en Jenkins y luego B. Luego obtengo el B recién construido y lo ejecuto. El error todavía está allí. Horas más tarde si vuelvo a construir B, amablemente obtendrá la nueva A y el error desaparecerá.

Debe haber una forma de forzar a jenkins a usar la nueva A en su servidor. usar mvn -u o mvn --update-snapshots no ayudará. Verificará las actualizaciones y no encontrará ninguna.

+0

¿Podría verificar su Maven settings.xml si hay una '' updatePolicy> 'configurada para el repositorio de instantáneas? Si no hay, las versiones de SNAPSHOT solo se descargan una vez día desde el repositorio remoto. http: // maven. apache.org/ref/3.0.4/maven-settings/settings.html#class_snapshots –

Respuesta

5

Creo que no existe tal comportamiento de almacenamiento en caché posible en Maven/Jenkins, ya que toda su instantánea está construida localmente en la misma instancia de Jenkins. No es necesario tener la opción "actualizar instantánea" porque no la obtiene desde el repositorio remoto. Sin embargo, te recomendaría que eches un vistazo a la configuración del repositorio en Jenkins. En Jenkins, podemos cambiar qué repositorio maven usar (de manera predeterminada, es compartido por toda la máquina, pero puede cambiarse a por área de trabajo o por ejecutor, etc. (En la configuración de su proyecto, en Build -> Advanced, puede verificar "Use private Maven repository", y en Manage Jenkins -> Configure System -> Maven Project Configuration, se puede seleccionar la forma de administrar Local Maven Repository. estoy sospechando que lo haya cambiado a "local de albacea"

Si tiene cualquier ajuste que causan la acumulación de a instalado en un repositorio diferente ese uso de B, puede golpear el problema al que se enfrentó.

Cuestiones relacionadas