problemas de liberación con Nexus + Maven + Hudson
-
29-09-2019 - |
Pregunta
Cuando se utiliza la versión plug-in para Maven en Hudson (1.368), estoy consiguiendo un error que mi sección distributionManagement no se encuentra en la fase de implementación en nuestro Nexus Maven Repository Manager. Si puedo implementar sin necesidad de utilizar liberarlo woks muy bien por lo que no debe ser una mala configuración con el servidor, la sección o la configuración.
Vale la pena señalar que mi empresa utiliza diferentes archivos pom para Hudson y les han llamado de otra manera. También el settings.xml en los directorios de proyectos individuales. Esto nunca ha sido un problema, ya que permite Hudson para el nombre del pom y la ubicación y el nombre del archivo de configuración que se determine.
La razón Tomo nota de lo anterior es que cuando distributionManagement se mueve en el pom.xml regulares se la encuentra (pero aún no funciona debido a su falta el nombre de usuario y contraseña en el archivo de configuración). Esto confunde a los diablos de mí ya que para las partes anteriores del proceso de liberación, se utiliza el pom y la configuración correcta. Sólo parece olvidarse de ellos más adelante. ¿Qué está pasando aquí?
Gracias de antemano.
Actualizar
Parece que la liberación experto plug-in de giros hasta una nueva instancia de experto que, al parecer, está utilizando el pom.xml por defecto en lugar de nuestro pom con otro nombre. Es necesario realizar más pruebas.
Solución
La respuesta (por cualquier almas perdidas que tropiezan con esta pregunta) es que Maven fue de hecho se bifurcan a cabo un nuevo proceso que no estaba usando el archivo correcto y la configuración del pom. La solución fue añadir una sección en el fichero POM como sigue:
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.0</version>
<configuration>
<goals>-f POMFILE -s SETTINGSFILE deploy</goals>
</configuration>
</plugin>
Esto especifica los dos archivos en el nuevo proceso experta.
Otros consejos
Si puedo implementar sin necesidad de utilizar liberarlo woks muy bien por lo que no debe ser una mala configuración con el servidor, la sección o la configuración.
Bueno, existe claramente una mala configuración en alguna parte, ya sea a nivel de Hudson. Pero va a ser difícil de detectar sin ver el POM, los ajustes, los perfiles activos, los perfiles utilizados durante la liberación, la configuración de Hudson, etc.
El primer paso:. Trate de reproducir el problema en la línea de comandos usando la misma configuración exacta como Hudson
Segundo paso: utilizar el Maven Ayuda Plugin de entender y depurar la cuestión. Más específicamente, los siguientes objetivos:
La razón Tomo nota de lo anterior es que cuando distributionManagement se mueve en el pom.xml regulares se la encuentra (pero aún no funciona debido a su falta el nombre de usuario y contraseña en el archivo de configuración).
No está claro donde se especifica el distributionManagement
si fuera pom.xml
del proyecto (en un entorno corporativo, que va típicamente en un pom.xml
corporativa, que es el caso aquí?).
También es claro si en realidad se está proporcionando la username
y password
para un servidor de juego id
la id
repositorio de la distributionManagement
.
Pero de alguna manera, una combinación incorrecta se utiliza aquí. Vuelva a comprobar lo que los perfiles / valores están activos durante la liberación / desplegar de detectar el problema como se sugiere.
Ver también
- El Maven Plugin Implementar Página de uso