2016-07-05 40 views
2

我正在運行碼頭化的Nexus Repository Manager v2.13.0-01。我想要使​​用Remove Snapshots計劃任務刪除快照存儲庫中的工件。此計劃任務的我的參數如下。Nexus Repository Manager的移除快照計劃任務不會清除時間戳項目關聯的GPG簽名文件?

  • 存儲庫/組:快照(回購)
  • 最小快照數:1個
  • 快照保留時間(天):1
  • 刪除如果釋放:(未選中)
  • 寬限期釋放後(天):1
  • 立即刪除:(選中)

當我運行這個任務,我ê xpecting至少保留1個快照,並且所有其他快照超過1天的快照將被刪除。當我在Browse Storage選項卡上時,我注意到的是,所有.jar + .pom文件正在被刪除,包括關聯的.md5.sha1文件。例如,以下文件被刪除。

  • 我的僞影0.0.1-20160705-020817-5-javadoc.jar
  • 我的僞影0.0.1-20160705-020817-5-javadoc.jar.md5
  • 我的 - 神器 - 0.0.1-20160705-020817-5-javadoc.jar.sha1
  • 我的僞影0.0.1-20160705-020817-5-sources.jar
  • 我的僞影0.0.1-20160705- 020817-5-sources.jar.md5
  • 我的僞影0.0.1-20160705-020817-5-sources.jar.sha1
  • 我的 - 神器0.0.1-20160705-020817-5.pom
  • 我的僞影0.0.1-20160705-020817-5.pom.md5
  • 我的僞影0.0.1-20160705-020817-5。 pom.sha1
  • 我的僞影0.0.1-20160705-020817-5.jar
  • 我的僞影0.0.1-20160705-020817-5.jar.md5
  • 我的僞影0.0。 1-20160705-020817-5.jar.sha1

然而,相關聯.asc.asc.md5,和.asc.sha1散列不是被刪除。例如,

  • 我的僞影0.0.1-20160705-020817-5.jar.asc
  • 我的僞影0.0.1-20160705-020817-5.jar.asc.md5
  • 我的僞影0.0.1-20160705-020817-5.jar.asc.sha1

以下是我用來發布在pom.xml我的快照庫2個Maven插件。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-gpg-plugin</artifactId> 
    <version>1.6</version> 
    <executions> 
     <execution> 
     <id>sign-artifacts</id> 
     <phase>verify</phase> 
     <goals> 
      <goal>sign</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 
    <plugin> 
    <groupId>org.sonatype.plugins</groupId> 
    <artifactId>nexus-staging-maven-plugin</artifactId> 
    <version>1.6.7</version> 
    <extensions>true</extensions> 
    <configuration> 
     <serverId>mycompanynexus</serverId> 
     <nexusUrl>http://nexus.mycompanynexus.io/</nexusUrl> 
     <autoReleaseAfterClose>true</autoReleaseAfterClose> 
    </configuration> 
    </plugin> 

我在pom.xml中的配送管理部分如下所示。

<distributionManagement> 
<snapshotRepository> 
    <id>mycompanynexus</id> 
    <url>http://nexus.mycompanynexus.io/content/repositories/snapshots/</url> 
</snapshotRepository> 
<repository> 
    <id>mycompanynexus</id> 
    <url>http://nexus.mycompanynexus.io/content/repositories/releases/</url> 
</repository> 
</distributionManagement> 

未顯示是我的settings.xml其中我提供發佈到這些存儲庫的憑證。

當我部署時,我只需輸入mvn clean deploy與Maven v3.3.9。

當我查詢的解決方案,我碰到這個博客帖子http://blog.sonatype.com/2010/01/how-to-generate-pgp-signatures-with-maven/,但是,我不知道如果我不同意我簽約快照工件(如果我沒有,那麼GPG簽名和校驗和不會生成,我不必擔心用預定服務刪除它們)。此外,OSSRH的準則說明簽署SNAPSHOT文物。也許它標準做法不簽署SNAPSHOT文物?

任何幫助表示讚賞。

回答

1

對於Nexus Repository Manager的內部使用,使用GPG對工件進行簽名可能不是標準做法 - 未發佈且不是快照。然而,通過OSSRH發佈到中央倉庫,這很常見,儘管可能也不是標準。

通常,GPG插件使用情況是發佈配置文件的一部分,並且通常不用於快照部署。因此,根據您的內部需求,您應該可以不使用GPG,也可以不使用快照版本。

另一方面,快照刪除計劃任務應該適用於該刪除。儘管如此,最近發佈的版本在性能和行爲方面有所變化。我剛剛測試過,結果發現2.11+有一個迴歸。我們在https://issues.sonatype.org/browse/NEXUS-10460處創建了一個問題。請按照更新。希望我們在下一個版本中加入一個修正(2.14)。

更新2016-07-13:修補程序現在可用並且固定jar被附加到鏈接的問題。

相關問題