web-dev-qa-db-fra.com

"Vous n'avez pas de projet SNAPSHOT dans la liste des projets de réacteurs." lorsque vous utilisez le plug-in Jenkins Maven Release

J'utilise SVN, Maven 3.0.3 sur la dernière version de Jenkins et le plugin Maven Release. J'essaie d'utiliser le plug-in de publication de Maven (via Jenkins) pour effectuer une analyse à sec et j'exécute donc les options…

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

Mais la piste sèche est en train de mourir avec l'erreur ci-dessous…

[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

Ma méthode d'extraction SVN est définie sur "Toujours extraire une nouvelle copie" et j'ai une version d'instantané en question dans mon référentiel d'instantanés, mais pas dans mon référentiel de version. Existe-t-il un moyen d'obtenir la "liste des projets de réacteurs" pour consulter mon dépôt instantané?

Modifier: J'inclus l'extrait de mon pom où le projet obtient sa version - il hérite d'un parent

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

Vous essayez de libérer un artefact qui n'est pas un instantané. Cela signifie que le numéro de version de votre artefact est quelque chose comme 3.0.3. Ce numéro de version implique qu'il a déjà été publié. Vous ne pouvez pas libérer un communiqué. Il n'y aurait aucun changement entre les deux et donc aucun point.

Vous êtes uniquement censé publier les versions SNAPSHOT. Cela signifie que votre numéro de version serait comme 3.0.3-SNAPSHOT.

135
Daniel Kaplan

L'espace de travail Jenkins n'est pas un nettoyage ou vous avez FINAL version à l'intérieur de pom.xml. Jenkins a une stratégie de contrôle pour nettoyer l'espace de travail.

Plus: plugin Maven release - projet SNAPSHOT nécessaire

Options de la stratégie de départ:

  • Émulez un checkout en supprimant d’abord les fichiers non versionnés/ignorés, ainsi que les fichiers/répertoires ignorés par svn:ignore, puis exécutez svn update.
  • Toujours vérifier nouvelle copie
  • Utilisation svn update autant que possible, avec svn revert avant la mise à jour
6
MariuszS

Changer la stratégie de check-out pour "Emuler un check-out propre en supprimant d'abord les fichiers non versionnés/ignorés, puis svn update" a été l'affaire pour moi.

0
Faentur

Bump Up votre fichier Project POM pour à partir de la base de code construite précédemment à une nouvelle version.

1.0.1-SNAPSHOT<version>1.0.1-SNAPSHOT</version>

0
Mr Nsubuga