"Reaktör projeleri listesinde bir SNAPSHOT projeniz yok." Jenkins Maven sürüm eklentisini kullanırken


106

Jenkins'in en son sürümünde ve Maven Release eklentisinde SVN, Maven 3.0.3 kullanıyorum. Maven sürüm eklentisini (Jenkins aracılığıyla) kullanmaya çalışıyorum ve bu yüzden seçenekleri uyguluyorum ...

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

Ancak kuru çalışma aşağıdaki hatayla ölüyor…

[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 teslim alma yöntemim "Her zaman yeni bir kopyayı teslim al" olarak ayarlandı ve anlık görüntü havuzumda söz konusu bir anlık görüntü sürümü var, ancak sürüm havuzumda yok. Anlık görüntü depoma bakmak için "reaktör projeleri listesi" ni almanın bir yolu var mı?

Düzenleme: Projenin sürümünü aldığı pom parçamın parçasını ekliyorum - onu bir ebeveynden devralıyor

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

2
Ne versionSepetinde olduğunu pom.xml?
MariuszS

Belki bu yardımcı olabilir stackoverflow.com/questions/13513758/…
MariuszS

Yanıtlar:


157

Enstantane olmayan bir eser bırakmaya çalışıyorsunuz. Bu, yapınızın sürüm numarasının 3.0.3 gibi bir şey olduğu anlamına gelir. Bu sürüm numarası, zaten piyasaya sürüldüğünü gösterir. Serbest bırakamazsınız. Arada hiçbir değişiklik olmayacak ve dolayısıyla hiçbir anlamı olmayacaktır.

Yalnızca SNAPSHOT sürümlerini yayınlamanız gerekiyor. Bu, sürüm numaranızın 3.0.3-SNAPSHOT gibi olacağı anlamına gelir.


1
Sürümümü nasıl aldığımı ekledim - onu bir ebeveyn pomundan miras alıyorum. Maalesef, sürümü "-SNAPSHOT" içerecek şekilde değiştirirsem, "Hatayı alıyorum," hedef yürütülemedi. "Serbest bırakılmayan bağımlılıklar nedeniyle proje yayınlanmadı"
Dave

@Dave Bence ebeveyni de bir anlık görüntü haline getirmen gerekecek.
Daniel Kaplan

Bununla ilgili ikinci bir SO sorusu açmam gerekebilir, ancak ebeveyn pom'un "53.0.0-SNAPSHOT" olmasına rağmen bir SNAPSHOT sürümü var (miras almaya çalıştığımın yerine, 52.0.0-SNAPSHOT) . Ana pomdaki sürümü değiştirmekten mi bahsediyorsunuz?
Dave

1
"Reaktör projeleri listesi" nin ne anlama geldiğini bilmediğiniz sürece hata mesajının kendi kendini açıklayıcı olmadığını düşünüyorum. Çok net cevap için teşekkürler.

10
"Bir sürümü yayınlayamazsınız" gibi bir mesaj ekleselerdi anlamak çok daha kolay olurdu. Buldukları mesaj "Reaktör projeleri listesinde bir SNAPSHOT projeniz yok" şeklindedir. ... Bu mesajı olması gerektiği gibi kim yorumlayacak?
seba.wagner

8

Jenkins çalışma alanı temizleme değil veya FINALiçinde sürümünüz var pom.xml. Jenkins'in çalışma alanını temizlemek için bir çıkış stratejisi var.

Daha fazlası: Maven sürüm eklentisi - SNAPSHOT projesi gerekli

Çıkış Stratejisi seçenekleri:

  • İlk önce dönüştürülmemiş dosyaları / yok sayılan dosyaları ve ayrıca tarafından yok sayılmış dosyaları / dizinleri silerek temiz bir teslim alma öykünmesi yapın svn:ignore, ardından çalıştırın svn update.
  • Her zaman yeni kopyayı kontrol edin
  • Güncellemeden önce svn updatemümkün olduğunca kullanınsvn revert

"Jenkins'in çalışma alanını temizlemek için seçenekleri var" derken neyi kastediyorsunuz? Bu seçenekler nerede? Jenkins için çalışma alanı temizleme eklentisinden mi bahsediyorsunuz?
Dave

Çıkış Stratejisi seçenekleri
MariuszS

1
benim için durum buydu, jenkins çalışma alanını temizledikten sonra çalıştı.
rbhawsar

1

Proje POM dosyanızı önceden oluşturulmuş kod tabanından yeni bir sürüme yükseltin.

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


0

Teslim alma stratejisini "Önce dönüştürülmemiş dosyaları / yok sayılan dosyaları, ardından svn güncellemesi silerek temiz bir teslim alma taklit edin" olarak değiştirmek benim için hile yaptı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.