【问题标题】:Grails Release Plugin Maven Deployment doesn't update <latest> tag in maven-metadata.xml consistentlyGrails 发布插件 Maven 部署不会一致地更新 maven-metadata.xml 中的 <latest> 标记
【发布时间】:2014-07-09 08:51:41
【问题描述】:

背景

我有两个 Grails 应用程序,都运行 Grails 2.3.6 并安装了发布插件 (build ":release:3.0.1")。

我有一个 jenkins CI 服务器设置来自动从源代码控制中提取项目并将战争部署到工件。从那里,它可以通过脚本自动部署到我们的 tomcat 服务器。

对于一个应用程序,Artifactory 生成的 maven-metadata.xml 文件包含一个&lt;latest&gt; 标签,它指定我的应用程序的哪个版本是最新的。

问题

我的问题是,另一个应用程序没有&lt;latest&gt; 标签,即使它使用完全相同的命令部署到我们的 Artifactory 存储库——grails maven-deploy。 BuildConfig.groovy 文件基本相同。

这是一个问题,因为我需要 &lt;latest&gt; 信息可用于我的部署脚本。

根据我的read around the web,只有在设置-DupdateReleaseInfo=true 标志时,maven-metadata.xml 文件才由maven 2 生成。但是,在构建过程中,我看不到工作应用程序将此标志传递给 maven 的任何地方。

我已经尝试了this thread 上建议的修复——即,

  • 确保部署用户具有“注释”权限
  • Maven 快照版本行为 = “部署者”

但是我的第二个应用程序仍然没有将&lt;latest&gt;标签添加到它的maven-metadata.xml中。

【问题讨论】:

  • 您使用的是哪个版本的 Artifactory?
  • 神器版本:3.1.0

标签: maven grails artifactory


【解决方案1】:

所以,我发现我可以轻松地将-DupdateReleaseInfo=true 作为附加参数传递给grails maven-deploy 命令,这会强制maven 更新maven-metadata.xml 中的&lt;latest&gt; 标记。我不确定为什么它有时会这样做而不是其他人,但至少它有效!

【讨论】:

    猜你喜欢
    • 2011-06-20
    • 2011-05-02
    • 2013-01-09
    • 2012-06-14
    • 2022-07-09
    • 2012-04-06
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    相关资源
    最近更新 更多