maven jenkins release snapshot maven-release-plugin

"No tiene un proyecto SNAPSHOT en la lista de proyectos del reactor" cuando utiliza el complemento de lanzamiento Jenkins Maven



release maven-release-plugin (3)

Estoy usando SVN, Maven 3.0.3 en la última versión de Jenkins y el complemento Maven Release. Intento usar el complemento de lanzamiento de Maven (a través de Jenkins) hago una ejecución en seco y entonces estoy ejecutando las opciones ...

Executing Maven: -B -f /scratch/jenkins/workspace/myproject/myproject/pom.xml -DdevelopmentVersion=53.0.0-SNAPSHOT -DreleaseVersion=52.0.0 -Dusername=***** -Dpassword=********* -DskipTests -P prod -Dresume=false -DdryRun=true release:prepare

Pero la ejecución en seco se está muriendo con el siguiente error ...

[JENKINS] Archiving /scratch/jenkins/workspace/myproject/myproject/pom.xml to /home/evotext/hudson_home/jobs/myproject/modules/org.mainco.subco$myproject/builds/2013-11-18_16-09-14/archive/org.mainco.subco/myproject/52.0.0/myproject-52.0.0.pom Waiting for Jenkins to finish collecting data mavenExecutionResult exceptions not empty message : Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.0:prepare (default-cli) on project myproject: You don''t have a SNAPSHOT project in the reactor projects list. cause : You don''t have a SNAPSHOT project in the reactor projects list. Stack trace : org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.0:prepare (default-cli) on project myproject: You don''t have a SNAPSHOT project in the reactor projects list. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:117) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239) at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:178) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at hudson.maven.Maven3Builder.call(Maven3Builder.java:129) at hudson.maven.Maven3Builder.call(Maven3Builder.java:67) at hudson.remoting.UserRequest.perform(UserRequest.java:118) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:326) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) Caused by: org.apache.maven.plugin.MojoFailureException: You don''t have a SNAPSHOT project in the reactor projects list. at org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:219) at org.apache.maven.plugins.release.PrepareReleaseMojo.execute(PrepareReleaseMojo.java:181) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) ... 30 more Caused by: org.apache.maven.shared.release.ReleaseFailureException: You don''t have a SNAPSHOT project in the reactor projects list. at org.apache.maven.shared.release.phase.CheckPomPhase.execute(CheckPomPhase.java:111) at org.apache.maven.shared.release.phase.CheckPomPhase.simulate(CheckPomPhase.java:123) at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:199) at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:140) at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:103) at org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:211) ... 33 more

El método de pago SVN está configurado en "Siempre pagar una copia nueva" y tengo una versión de instantánea en cuestión en mi repositorio de instantáneas, pero no en mi repositorio de versiones. ¿Hay alguna manera de obtener la "lista de proyectos del reactor" para ver mi informe de instantáneas?

Editar: incluyo el fragmento de mi pom donde el proyecto obtiene su versión, lo hereda de un padre

<parent> <artifactId>subco</artifactId> <groupId>org.mainco.subco</groupId> <version>52.0.0</version> </parent>


Cambiar la estrategia de check-out para "Emular el proceso de pago limpio eliminando primero los archivos no versionados / archivos ignorados, luego svn update" hizo el truco para mí.


El espacio de trabajo de Jenkins no es limpieza o tienes la versión FINAL dentro de pom.xml . Jenkins tiene una estrategia de check-out para limpiar el espacio de trabajo.

Más: Plugin de lanzamiento de Maven - Se necesita un proyecto SNAPSHOT

Opciones de estrategia de pago:

  • Emule la comprobación limpia eliminando primero los archivos no versionados / archivos ignorados, así como los archivos / directorios ignorados por svn:ignore , luego ejecute svn update .
  • Siempre echa un vistazo a la copia fresca
  • Use svn update tanto como sea posible, con svn revert antes de la actualización

Está intentando liberar un artefacto que no es una instantánea. Eso significa que el número de versión de su artefacto es algo así como 3.0.3. Ese número de versión implica que ya ha sido lanzado. No puedes lanzar un lanzamiento. No habría cambios en el medio y, por lo tanto, no tendría sentido.

Se supone que solo debes lanzar versiones de SNAPSHOT. Eso significa que su número de versión sería como 3.0.3-SNAPSHOT.