0

とを使用してアーティファクトをnexusリポジトリにアップロードするプロジェクトがantありますivy。物事は長い間順調に進んでいますが、今度は同じアーティファクトを2回デプロイする必要があります(WindowsとMac用に同じ製品を生成しているため)。アプリケーションのコードは同じですが、パッケージを変更するだけです。Maven分類子を使用するようにデプロイプロセスを構成しました。問題は、それぞれが宛先プラットフォームに適したビルド環境を持っているため、アップロードが2つの異なるマシンから行われることです。

したがって、最初のデプロイは正しく行われ、アップロードされます。

  • myproduct-1.0.pom
  • myproduct-1.0-mac.zip

Windowsアーティファクトをデプロイしようとすると、デプロイされます

  • myproduct-1.0.pom
  • myproduct-1.0-win32.msi

リポジトリポリシーで再デプロイが許可されていないため(そのままにしておく必要があります)、失敗します。そのため、pomの内容が同じであっても、同じアーティファクトとバージョンの新しいpomファイルをデプロイしようとすると失敗します。

また、将来、同様の問題が発生する可能性があります。同じ製品とバージョンのさまざまなアーティファクトが、異なるマシンから異なるビルドプロセスで異なる分類子を展開します。

分類されたアーティファクトをpomでデプロイするときに失敗しないように、nexusに指示することはできますか?同じpomファイルがリポジトリにすでに存在する場合は失敗しませんか?それが不可能な場合、異なる分類子を使用してさまざまなアーティファクトをデプロイする唯一の方法は、それらをすべて同時にデプロイすることであると理解しています。それは本当ですか?

4

1 に答える 1

1

最後に、分類子なしでpomのみをデプロイするタスクを作成し、WindowsとMacアーティファクトのデプロイを変更して、pomではなくパッケージのみをデプロイしました。

  1. 分類子なしでpomをデプロイする
  2. 分類子(mac)を使用してmacアーティファクトをデプロイする
  3. 分類子を使用してwinartficatをデプロイする(win32)

私が文句を言うと思ったのと同時にpomファイルをデプロイせずにアーティファクトをデプロイしても、Nexusは文句を言いません。

汚いトリックだと思いますが、うまくいきます:)

于 2013-02-14T10:22:20.953 に答える