Descripción del problemaCómo prevenir la sobreescritura de los artefactos lanzados (versiones no instantáneas) en repositorio de Maven en Hudson
Consideremos el caso experta se está utilizando en Hudson.
Ahora alguien tomó el pago de un proyecto, modificó algunos archivos pero accidentalmente usó la misma ID de artefacto y el número de versión (no instantánea).
Él/Ella luego construye este proyecto en hudson y lo hizo instalar. El artefacto modificado ahora está en hudson .m2. Cualquier otro proyecto que dependa de él será construido con artefactos modificados. Nadie lo descubre si la compilación no falla. A pesar de que el artefacto correcto reside en el repositorio central, nunca se usa porque se recogió uno modificado de .m2 cuando hudson comienza a construir.
Así que estoy buscando una forma de prevenir este error humano accidental.
- De todos modos, para revocar los permisos de maven, instálelos en versiones no instantáneas (artefactos liberados) en hudson?
- ¿Alguna forma de comparar las sumas de comprobación de .m2 en hudson y en el repositorio central remoto para que las fallas de suma de comprobación puedan generar advertencias o fallas en la compilación?
Ya he comprobado que no hay forma de forzar la actualización de versiones que no sean instantáneas desde el repositorio central ya que están destinadas a ser inmutables.
Depurar el repositorio central o usar un repositorio separado para cada trabajo en hudson dará como resultado un incremento en el tiempo de compilación & de espacio de disco respectivamente.
Cualquier ayuda sería apreciada.
Ya he manejado los permisos de implementación en artifactory. Pero eso no ayuda, porque si hay un artefacto sobreescrito presente en el repositorio .m2 y se construye un proyecto dependiente, hudson maven siempre elige el artefacto de .m2 en lugar del servidor del repositorio. No hay forma de forzar la descarga de un artefacto en hudson o verificar el clima. El artefacto .m2 está sincronizado con el servidor del repositorio. – Aman