2017-11-22 8 views
0

私は、DockerイメージをMavenビルドプロセスの一部として構築する方法を理解しようとしています。基本的には、Dockerイメージを構築するMavenプロジェクトを作成したいと考えています。私はこれが理にかなっていると思う。Mavenのパッケージ化タイプ `docker`は存在しますか?

しかし、パッケージの種類はどのように見えるのですか?明らかにjar,warまたはmaven-pluginではありません。私はdockerで試しましたが、それは存在しません。

私はちょうどpomに行くべきですか、カスタムパッケージタイプを設定する方法はありますか?ドッカーの画像 - - 正規pom種類(親ポンポン、BOM、...)には通常の場合ではありません、我々は出力を生成しているようpomでそれを持っ

は、私に間違っを感じています。

答えて

1

うわー、野心的です! Mavenを使用してドッカー画像を作成する場合は、最終画像を生成するためにdocker buildや他のドッカーコマンドを使用しないことを前提としています。ドッカーイメージはTARファイルなので、Maven Assembly pluginを使用して目的のtarファイルイメージを生成できます。

この場合、プロジェクトの "タイプ"は "pom"になり、プロジェクト自体がどのようにビルドされたかに関する情報(名前やバージョン番号など)を含むPOMファイルが生成されます。 Assemblyプラグインは対応するTARファイルも生成して添付し、mvn deployまたはパッケージを参照する他のコマンドを使用すると、関連するTARファイルが含まれるようにします。

イメージを構築するためにドッカーコマンドを使用している場合は、おそらくmvn deployを実行したときの結果に応じてカスタムMaven拡張機能を作成する必要があります。あなたの究極の目標に本当に依存しますが、これをDockerの範囲内で使用している場合はdockerfile-mavenのようなプラグインでうまくいくかもしれません。これによりドッカーのワークフローはdocker buildおよび/またはdocker pushになります。

+0

私は 'dockerfile-maven'の存在を知りませんでした。素晴らしいプロジェクト、それは私が必要なものです! –

1

Spotifyはdockerfile-maven-pluginを作成しました。これを使用すると、MavenでDockerイメージを構築して公開することができます。プロジェクトページにはexampleとその他の有益な情報がたくさんあります。

関連する問題