私はマルチプラットフォームの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を展開ファイルオプションを試したが、これは完全なプロジェクトレベル
Nexus/Artifactory/Archivaの種類のMavenリポジトリをリリースしていますか? [maven-deploy-plugin](https://maven.apache.org/plugins/maven-deploy-plugin/deploy-mojo.html)のために、 ' .. generatePom> 'は存在しません。何も効果がありません... –
khmarbaise
はい、ネクサスです。中央プロキシ/会社内部と同じですが、これは異なるディレクトリパスを持ちます。 jenkinsのスレーブノードから同じ資格情報を持つcorrentディスクに何かをプッシュすることは、多かれ少なかれ "トリック"です。アップロードされた後、それはメイキングレポ(すなわち、フォローディストリビューションはディスクのみを使用する)であることは関係ありません –
そのような種類のレポを使用すると、そこにpomファイルがあるのはなぜですか?あなたは別の道を行く必要があるかもしれません。結果のビルド成果物をNexus(リポジトリ)にデプロイし、Jenkinsのポストステップで成果物(インストーラのみ)を入手し、リリースリポジトリに展開することができます。しかし、それはあなたがpomファイルを持っている必要があるmavenの場合... – khmarbaise