2012-02-13 12 views
0

JenkinsがビルドしてリモートリポジトリにデプロイするMavenプロジェクトがあります。展開した.warを外部の場所にコピーする必要があります。ビルド後のシェルスクリプトでこれを実行しようとしていましたが、ビルド情報をmavenから取得する方法はありません(たとえば、デプロイされた成果物のURLなど)。それを手に入れる方法はありますか、これを行う方法はもっとmavenに統合されていますか?私はJenkinsのビルドパラメータを使用して展開パスを計算できますが、ハックのようです。JenkinsポストビルドスクリプトのMavenビルドプロパティにアクセスして、デプロイされたアーティファクトを取得します

おかげで、あなたは常にあなたがMavenのpropertiesを使用してMavenのpom.xml以内に、このパスにアクセスすることができます

target/<artifactId>-<version>.<packaging> 

でビルドアーティファクトを見つける必要がありMavenのビルド後 スティーブ

答えて

0

pom referenceを参照してください)

${project.build.directory}/${project.artifactId}-${project.version}.${project.packaging} 

ビルド後にアーティファクトを別の場所にコピーするには、seve例えば、 this threadにあります。

+0

Jenkinsのログによると、.warファイルはtarget/artifactId.war(バージョンなし)としてビルドされます。バージョン化された唯一のリソースはターゲット/アセンブリ内の.tar.gzです。これは、pom.xmlに奇妙な結果が生じた可能性があります。 – SteveMc

+0

私たちの.warファイルを変更するのが最善の方法だと思います。ありがとう! – SteveMc

+0

@SteveMc戦争の名前を変更する際は注意してください。アプリケーションURLをコンテナにデプロイした後、アプリケーションのURLに影響を与える可能性があります。 – FrVaBe

関連する問題