我有两个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上建议的解决方案 - 即
但是我的第二个应用程序仍然没有将<latest>
标记添加到其maven-metadata.xml中。
答案 0 :(得分:1)
所以,我发现我可以轻松地将-DupdateReleaseInfo=true
作为附加参数传递给grails maven-deploy
命令,并强制maven更新maven-metadata中的<latest>
标记。 XML。我不确定为什么有时这样做而不是其他人,但至少它有效!