将Jar文件从Snapshot升级到Release

时间:2018-01-30 16:41:06

标签: jenkins artifactory

我的用户在使用artifactory Promotion插件从快照存储库升级JAR文件到发布存储库时收到以下错误。请帮忙解决如何避免此错误。

Performing dry run promotion (no changes are made during dry run) ...

    ERROR: Promotion failed during dry run (no change in Artifactory was done): HTTP/1.1 400 Bad Request
    {
      "messages" : [ {
        "level" : "ERROR",
        "message" : "The repository 'XXXXXX' rejected the path 'XX/XX/XXXXX/XX/XXXX/2.1-SNAPSHOT/malin-modular-2.1-20180125.094354-1.jar' due to a conflict with its snapshot/release handling policy."
      }, {
        "level" : "INFO",
        "message" : "Skipping promotion status update: item promotion was completed with errors and warnings."
      } ]
    }

1 个答案:

答案 0 :(得分:2)

猜测原因的信息很少,但假设这是Maven存储库......

每个存储库都配置为接收:

  • 仅限快照(即版本以" -SNAPSHOT"或时间戳结束)
  • 仅发布(任何版本,除非以&#34结尾; -SNAPSHOT"或时间戳)
  • 快照和发布(任何版本都被接受,我不建议这样做)

这是在本地存储库的详细信息中配置的,请参阅this page

配置促销时,您可以配置从存储库到另一个存储库的移动,但您仍需要尊重存储库的功能。

所以我的猜测是你试图将快照版本推广到只接受发布版本的存储库

我建议你设置

  • 快照本地存储库(例如' dev')
  • 发布本地存储库(例如'发布')
  • 促销元素的发布本地存储库(例如' gold')

并使用

  • ' dev的'推送您在CI上持续构建的结果
  • '释放'在CI上推送发布过程的结果
  • '金'作为促销流程的目标来自'发布'到了'黄金'