"У вас немає проекту SNAPSHOT у списку проектів реакторів". при використанні плагіна випуску Jenkins Maven


105

Я використовую SVN, Maven 3.0.3 для останньої версії Jenkins та плагіна Maven Release. Я намагаюся використовувати плагін Maven для випуску (через Дженкінса) виконувати сухий пробіг, і тому я виконую варіанти ...

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

Але сухий хід вмирає з помилкою нижче ...

[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

У моєму способі оформлення замовлення SVN встановлено значення "Завжди перевірити свіжу копію", і у мене є схожий варіант знімка в моєму сховищі знімків, але не в моєму сховищі релізів. Чи є спосіб отримати «список проектів реакторів», щоб подивитися репортаж мого знімка?

Редагувати: Я включаю фрагмент пам’яті, де проект отримує свою версію - він успадковує його від батьків

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

2
Що versionу вас pom.xml?
МаріушS

Може бути , це може допомогти stackoverflow.com/questions/13513758 / ...
MariuszS

Відповіді:


156

Ви намагаєтеся випустити артефакт, який не є знімком. Це означає, що номер версії вашого артефакту є чимось на зразок 3.0.3. Цей номер версії означає, що його вже випущено. Ви не можете випустити реліз. Між ними не було б змін і, отже, немає жодного сенсу.

Ви повинні випускати лише версії SNAPSHOT. Це означає, що номер вашої версії буде приблизно 3.0.3-SNAPSHOT.


1
Я додав, як отримую свою версію - я успадковую її від батьківського пом. На жаль, якщо я змінюю версію, щоб вона включала "-SNAPSHOT", я отримую помилку, "Не вдалося виконати ціль org.apache.maven.plugins: maven-release-plugin: 2.0: підготувати (за замовчуванням) на проекті myproject: Можна 't реліз проекту через не звільнені залежності'
Дейв

@Dave Я думаю, що вам доведеться зробити батьків також знімком.
Даніель Каплан

Мені може знадобитися відкрити друге запитання щодо цього, але батьківський пом має версію SNAPSHOT, хоча це "53.0.0-SNAPSHOT" (замість того, що я намагаюся успадкувати, 52.0.0-SNAPSHOT) . Ви мали на увазі зміну версії у батьківській пам’яті?
Дейв

1
Я думаю, що повідомлення про помилку не пояснює себе, якщо ви не знаєте, що означає "список проектів реакторів". Дякую за дуже чітку відповідь.

10
Це було б набагато простіше зрозуміти, якби вони просто додали повідомлення типу "Ви не можете випустити реліз". Повідомлення, яке вони придумують: "У вас немає проекту SNAPSHOT у списку проектів реакторів". ... Хто коли-небудь трактуватиме це повідомлення так, як належить?
seba.wagner

8

Робоча область Дженкінса не є чистою або у вас є FINALверсія всередині pom.xml. Дженкінс має стратегію виїзду з очищення робочого простору.

Докладніше: Плагін Maven release - потрібен проект SNAPSHOT

Варіанти виїзду:

  • Емулюйте чисту замовлення, спочатку видаливши неперевершені файли / ігноровані файли, а також файли / каталоги, проігноровані svn:ignore, а потім виконати svn update.
  • Завжди перевіряйте свіжу копію
  • Використовуйте svn updateякомога більше, svn revertперш ніж оновити

Що ви маєте на увазі під "Дженкінсом, є варіанти очищення робочої області"? Де ці варіанти? Ви говорите про плагін очищення робочої області для Дженкінса?
Дейв

Варіанти виїзду із стратегії
MariuszS

1
для мене це було так, після очищення робочого простору дженкіни воно працювало.
rbhawsar

1

Збільшити файл POM проекту від попередньо побудованої бази коду до нової версії.

1.0.1-СНАПШОТ<version>1.0.1-SNAPSHOT</version>


0

Зміна стратегії виїзду на "Емуляція чистої каси, спочатку видалення неперевірених файлів / ігнорованих файлів, а потім оновлення svn" зробило для мене хитрість.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.