2016-03-21 15 views
1

私はマルチプラットフォームのjavafxアプリケーションを構築しています。最後のプロセスは、インストーラー(exe、dmg、deb ..をバンドルしたもの)を作成し、それを特別な "製品リリース"リポジトリーにアップロードすることです。 javafxのビルドをどのように行う必要があるかを考えると、3つの異なるプラットフォーム上でジェンキンス・マトリックス・ジョブを実行します。最後のステップは展開です。インストーラをbuild-helper-mavenプラグインでアタッチします。POMファイルをアップロードせずにMavenをデプロイする

プラットフォームごとに正しくインストーラをアップロードできますが、デプロイメントがpomファイルをアップロードするように見えるため、別のjenkinsスレーブからアップロードすることはできません。

最初に私は "main jar"をアップロードするという問題を抱えていましたが、jarプラグインを 'none'フェーズにバインドすることで無効にすることができました(私はmain jarを作成するmaven-javafx-pluginを使用します)。しかし、私はポームの生成とアップロードを無効にすることができません。私は、Mavenの-展開 - プラグインの

<generatePom>false</generatePom> 

を設定しているが、(私はそれが私はすでに無効になっているメインのjarのために働くと仮定)任意の効果を持っていないようです。

pomの生成/アップロードを完全に無効にすることはできますが(gradleの 'uploadDescriptor false'オプションと同様)、「添付された成果物」のみをアップロードできますか?

EDIT /注:私はおそらく、次のhttps://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.htmlを展開ファイルオプションを試したが、これは完全なプロジェクトレベル

+0

Nexus/Artifactory/Archivaの種類のMavenリポジトリをリリースしていますか? [maven-deploy-plugin](https://maven.apache.org/plugins/maven-deploy-plugin/deploy-mojo.html)のために、 ' .. 'は存在しません。何も効果がありません... – khmarbaise

+0

はい、ネクサスです。中央プロキシ/会社内部と同じですが、これは異なるディレクトリパスを持ちます。 jenkinsのスレーブノードから同じ資格情報を持つcorrentディスクに何かをプッシュすることは、多かれ少なかれ "トリック"です。アップロードされた後、それはメイキングレポ(すなわち、フォローディストリビューションはディスクのみを使用する)であることは関係ありません –

+0

そのような種類のレポを使用すると、そこにpomファイルがあるのはなぜですか?あなたは別の道を行く必要があるかもしれません。結果のビルド成果物をNexus(リポジトリ)にデプロイし、Jenkinsのポストステップで成果物(インストーラのみ)を入手し、リリースリポジトリに展開することができます。しかし、それはあなたがpomファイルを持っている必要があるmavenの場合... – khmarbaise

答えて

-2

maven-deploy-plugin上で行うことができるならば、知っていいだろうとる設定オプションskipを持っていますブール値を返し、trueに設定すると、このプラグインの実行を抑止します。

私はこれがあなたが探しているものだと思います。

Apache Maven Deploy Plugin documentation

+1

これは 'pom.xml'ファイルだけでなくあらゆる種類のアーティファクトの展開も抑制します。 – khmarbaise

0

私はこの問題を解決するために管理。私はdeploy-fileオプションでそれを行いました:

私はdefault-deployをnoneにバインドして無効にしました。その後、私は新しいフェーズを展開するための "ネイティブデプロイ"を実行しました。その設定では、generatePomをfalseにして、ビルドヘルパープラグインを使用してサイドアーチファクトとしてアタッチするために以前使用したものと同じファイルを指定しました。私は再び同配座を入れなければなりませんでした(つまり、プロジェクトからのパススルー*)。しかし、仕事をして、pomファイルなしですべてのマシンからインストーラをアップロードしました。 mavenはアーティファクトにバインドされていないと不平を言いました(私はパッケージ化をpomに変更することができたと思いますが、とにかくデフォルトのアップロードが無効になっているのでアップロードされません)。

もっと一般的な解決策があるとすれば、それはより正解になりますが、私にとってはこれで十分です。

+0

'wagon-maven-plugin'はもっと簡単なオプションですか? https://stackoverflow.com/a/42468595/318054 – fnt

関連する問題