背景
我有两个Grails应用程序,都运行Grails 2.3.6,并安装了发行插件(build ":release:3.0.1"
)。
我有一个jenkins CI服务器设置,可以自动从源代码管理中提取项目,并将 war 部署到 Artifact 上。从那里,它可以通过脚本自动部署到我们的tomcat服务器。
对于一个应用程序,Artifactory生成的maven-metadata.xml文件包含<latest>
标记,该标记指定我的应用程序中的哪个版本是最新的。
问题
我的问题是,另一个应用程序没有<latest>
标记,即使它使用的是完全相同的命令来部署到我们的Artifactory存储库grails maven-deploy
。 BuildConfig.groovy文件基本上是相同的。
这是一个问题,因为我需要<latest>
信息可用于我的部署脚本。
根据我的read around the web,仅当设置了-DupdateReleaseInfo=true
标志时,maven 2才会生成maven-metadata.xml文件。但是,在构建期间,我看不到任何正在运行的应用程序将此标志传递给Maven的地方。
我已经尝试过对this thread建议的修复程序-即,
但是我的第二个应用程序仍然没有在其maven-metadata.xml中添加
<latest>
标记。
最佳答案
因此,我发现可以轻松地将-DupdateReleaseInfo=true
传递给grails maven-deploy
命令作为附加参数,这迫使maven更新maven-metadata.xml中的<latest>
标记。我不确定为什么有时会这样做,而不是其他人,但是至少能奏效!
关于maven - Grails版本插件Maven部署不会始终更新maven-metadata.xml中的<latest>标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23770881/