Grails Release Plugin Maven Deployment不会始终更新maven-metadata.xml中的<latest>标记</latest>

时间:2014-05-20 22:16:16

标签: maven grails artifactory

背景

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

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

对于一个应用程序,Artifactory生成的maven-metadata.xml文件包含<latest>标记,该标记指定我的应用程序的哪个版本是最新版本。

问题

我的问题是,其他应用程序没有<latest>标记,即使它使用完全相同的命令部署到我们的Artifactory存储库 - - grails maven-deploy。 BuildConfig.groovy文件基本相同。

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

从我read around the web开始,maven-metadata.xml文件仅在设置-DupdateReleaseInfo=true标志时由maven 2生成。但是,在构建期间,我无法看到工作应用程序将此标志传递给maven的任何位置。

我已尝试在this thread上建议的解决方案 - 即

  • 确保部署用户具有&#34;注释&#34;许可
  • Maven Snapshot Version Behavior =&#34; Deployer&#34;

但是我的第二个应用程序仍然没有将<latest>标记添加到其maven-metadata.xml中。

1 个答案:

答案 0 :(得分:1)

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