2017-10-17 26 views
2

私はJavaプロジェクトを持っています。それにはpom.xmlが設定されています。mvn deployを使用して、社内の企業Nexusに新しい成果物を導入します。そしてすべてがうまくいきます。配備中/配備後にmaven配備URLを取得する

しかし、私はこのアプリケーションをCI/CDシステムに統合しています。ですから、基本的には、このアーティファクトがどこに配置されたか(アーティファクトの正確なNexus URL)をプログラム的に/自動的に知ることが必要なので、これをCI/CDシステムの次のステップの入力として含めることができます。

これは、Mavenで作業するときには通常は必要ではないことが分かりました。しかし、私は、このURLが、このアーティファクトを示すいくつかのWebページに表示する必要があります。それに関連する他の情報、どのテストが実行されたか、誰がそれを作成したか、どのレポジトリが構築されたかなど...

だから、この情報を入手するには、pom.xmlファイルを手動で解析してURLを再作成しよう。 mvn give-me-the-url-to-which-you-would-deploy-if-i-were-to-run-deployのようなものです。 :)

答えて

2

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