2017-10-17 87 views
2

我有一個Java項目。它有一個pom.xml設置,我使用mvn deploy將新工件部署到內部公司Nexus。一切工作正常。在部署期間/之後獲取Maven部署URL

但是...我正在將此應用程序集成到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。 :)

回答

2

一個直接的,但有點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) 

這些行會告訴你確切的URL,但你需要解析一個文本文件。

+1

是的,我最終這樣做了,使用tee將Maven的輸出重定向到日誌文件。但這仍然是一個駭人聽聞的解決方案。但是,由於似乎沒有更好的,適當的解決方案,這將不得不做。謝謝。 – morgoth84