在部署期间/之后获取Maven部署URL

mor*_*h84 5 java continuous-integration maven continuous-delivery

我有一个Java项目。它设置了pom.xml,mvn deploy用于将新工件部署到内部公司Nexus。而且一切正常。

但是...我正在将该应用程序集成到CI / CD系统中。因此,基本上,我需要以编程方式/自动地知道此工件的部署位置(工件的确切Nexus URL),因此我可以将其作为CI / CD系统下一步的输入。

我知道使用Maven时通常不需要这样做。但是我能说什么,我需要这个URL出现在显示此工件的网页上,以及与此相关的其他信息,例如在其上运行了哪些测试,谁创建了它,何时创建,何时提交。它建立在哪个存储库中...

所以...除了手动解析pom.xml文件以尝试重新创建URL的黑手党方式之外,我是否有一种很好的方法来获取此信息。有点像mvn give-me-the-url-to-which-you-would-deploy-if-i-were-to-run-deploy。:)

JF *_*ier 5

一种直接但有点hacky 的方法是读取Maven 日志文件。它包含像

Uploaded: http://ik-re1.continentale.loc:8082/nexus/content/repositories/snapshots/de/continentale/spu/rrep-pjava-index/2.3.4-SNAPSHOT/rrp-pjav-index-2.3.4-20170901.115031-18-sources.jar (202 KB at 2459.3 KB/sec)
Run Code Online (Sandbox Code Playgroud)

这些行告诉您确切的 URL,但您需要解析一个文本文件。

  • 是的,我最后是这样做的,使用 tee 将 Maven 的输出重定向到日志文件。但这仍然是一个骇人听闻的解决方案。但由于似乎没有更好、更合适的解决方案,因此必须这样做。谢谢。 (2认同)