“Bạn không có dự án SNAPSHOT trong danh sách các dự án lò phản ứng.” khi sử dụng plugin phát hành Jenkins Maven


105

Tôi đang sử dụng SVN, Maven 3.0.3 trên phiên bản mới nhất của Jenkins và plugin Maven Release. Tôi đang cố gắng sử dụng plugin phát hành Maven (thông qua Jenkins) và thực hiện các tùy chọn…

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

Nhưng chạy khô đang chết dần với lỗi bên dưới…

[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

Phương thức kiểm tra SVN của tôi được đặt thành "Luôn kiểm tra một bản sao mới" và tôi có một phiên bản ảnh chụp nhanh được đề cập trong kho lưu trữ ảnh chụp nhanh của mình, nhưng không có trong kho lưu trữ phát hành của tôi. Có cách nào tôi có thể lấy "danh sách các dự án lò phản ứng" để xem kho ảnh chụp nhanh của tôi không?

Chỉnh sửa: Tôi đang bao gồm đoạn mã pom của mình, nơi dự án có phiên bản của nó - nó kế thừa nó từ cha mẹ

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

2
Của versionbạn là pom.xmlgì?
MariuszS

Có thể điều này có thể giúp stackoverflow.com/questions/13513758/…
MariuszS

Câu trả lời:


156

Bạn đang cố gắng phát hành một tạo tác không phải là một ảnh chụp nhanh. Điều đó có nghĩa là số phiên bản tạo tác của bạn giống như 3.0.3. Số phiên bản đó ngụ ý rằng nó đã được phát hành. Bạn không thể phát hành một bản phát hành. Sẽ không có thay đổi nào ở giữa và do đó không có điểm nào.

Bạn chỉ phải phát hành các phiên bản SNAPSHOT. Điều đó có nghĩa là số phiên bản của bạn sẽ là 3.0.3-SNAPSHOT.


1
Tôi đã thêm cách tôi nhận được phiên bản của mình - tôi đang thừa hưởng nó từ một pom mẹ. Rất tiếc nếu tôi thay đổi phiên bản để bao gồm "-SNAPSHOT", "Tôi gặp lỗi" Không thực hiện được mục tiêu org.apache.maven.plugins: maven-release-plugin: 2.0: chuẩn bị (default-cli) trên dự án myproject: Có thể 't dự án phát hành do phụ thuộc không được phát hành "
Dave

@Dave Tôi nghĩ bạn cũng sẽ phải chụp nhanh cho phụ huynh.
Daniel Kaplan

Tôi có thể cần phải mở một câu hỏi SO thứ hai về điều này, nhưng pom gốc có phiên bản SNAPSHOT, mặc dù nó là "53.0.0-SNAPSHOT" (thay vì những gì tôi đang cố gắng kế thừa, 52.0.0-SNAPSHOT) . Bạn có đề cập đến việc thay đổi phiên bản trong pom mẹ không?
Dave

1
Tôi nghĩ rằng thông báo lỗi không tự giải thích trừ khi bạn biết "danh sách các dự án lò phản ứng" nghĩa là gì. Cảm ơn vì câu trả lời rất rõ ràng.

10
Sẽ dễ hiểu hơn rất nhiều nếu họ chỉ thêm một thông báo như "Bạn không thể phát hành một bản phát hành". Thông báo mà họ đưa ra là "Bạn không có dự án SNAPSHOT trong danh sách các dự án lò phản ứng." ... Ai sẽ giải thích thông điệp này theo cách nó được cho là?
seba.wagner

8

Không gian làm việc Jenkins không được dọn dẹp hoặc bạn có FINALphiên bản bên trong pom.xml. Jenkins có chiến lược kiểm tra để dọn dẹp không gian làm việc.

Thêm: Plugin phát hành Maven - Cần dự án SNAPSHOT

Kiểm tra các tùy chọn Chiến lược:

  • Mô phỏng quy trình kiểm tra sạch bằng cách xóa các tệp không phiên bản / tệp bị bỏ qua trước tiên cũng như các tệp / thư mục bị bỏ qua svn:ignore, sau đó thực thi svn update.
  • Luôn kiểm tra bản sao mới
  • Sử dụng svn updatecàng nhiều càng tốt, với svn reverttrước khi cập nhật

Ý bạn là gì khi "Jenkins có các tùy chọn để dọn dẹp không gian làm việc"? Các tùy chọn này ở đâu? Bạn đang nói về plugin dọn dẹp không gian làm việc cho Jenkins?
Dave

Kiểm tra các tùy chọn chiến lược
MariuszS

1
đối với tôi đây là trường hợp, sau khi xóa không gian làm việc jenkins, nó đã hoạt động.
rbhawsar 13/09/17

1

Tăng tệp Project POM của bạn cho từ cơ sở mã được xây dựng trước đó lên phiên bản mới.

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


0

Thay đổi chiến lược thanh toán thành "Mô phỏng thanh toán sạch bằng cách xóa các tệp không phiên bản / tệp bị bỏ qua trước tiên, sau đó cập nhật svn" đã thực hiện thủ thuật cho tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.