7

Heroku はMaven ベースの Java アプリのデプロイをサポート

また、パブリック Maven リポジトリで利用できないライブラリが必要な場合は、アプリのデプロイに関するアドバイスも提供します。

しかし:私は2つのMavenプロジェクトを持っています.1つはもう1つに依存しています。依存アーティファクトをローカルにmvnインストールすると、他のアーティファクトをmvnパッケージ化でき、すべて正常に動作します。ただし、heroku はローカルの mvn リポジトリにアクセスできないため、heroku にプッシュできません。

私に何ができる?Web 上の heroku にアクセス可能なプライベート Maven リポジトリ (artifactory など) をセットアップする必要がありますか、それとも、heroku へのカスタム依存関係を使用してそのようなアプリをデプロイする他の方法はありますか?

ありがとう。

4

4 に答える 4

2

ここで役立つ可能性があるAnvilと呼ばれる Heroku の代替デプロイ パスがあります。このパスを使用すると、必要なプライベート ライブラリを使用してすべてをローカルでビルドし、すべての依存関係をターゲット ディレクトリにコピーしてから、Anvil を使用してすべてをビルドし、Heroku アプリにリリースします。デフォルトでは、Anvil はアプリを Java として検出し、再ビルドを試みますが、null の buildpackを指定することでこれをオーバーライドできます。これにより、既にローカルでビルドを行っているため、ファイルをそのまま取得するように指示されます。これはおそらく例でよりよく示されています:

  1. アンビルをインストールします。

    heroku plugins:install https://github.com/ddollar/heroku-anvil

  2. copy-dependenciesで既に構成されているこのサンプル アプリのクローンを作成しますpom.xml。独自のアプリでこれを構成する必要があります。

    git clone git://github.com/heroku/template-java-jaxrs.git

  3. ディレクトリに移動し、実行されるアプリをビルドしますcopy-dependencies。Heroku がそれらを見つけることができるように、すべての依存関係をアプリのtargetディレクトリに置く必要があるため、これは重要です。~/.m2/repository

    mvn package

  4. Heroku アプリを作成します。

    heroku create

  5. Anvil を使用して null ビルドパックでビルドし、アプリにリリースします。

    heroku build -b https://github.com/ryandotsmith/null-buildpack.git -r

于 2012-08-23T00:09:38.803 に答える
1

ライブのオープンソースWebアプリpom.xmlでそれをどのように行うかを見てください。アプリは、MavenとAntを使用してHerokuにデプロイされます。自動的に実行しgit clone、新しいファイルをフォルダにコピーしてから実行しますgit commit && git push。重要なのはmaven-invoker-plugin、Herokuスラッグ内のアーティファクトをダウンロードするために使用することです。

于 2012-08-27T19:58:55.723 に答える
0

Maven リポジトリが必要です。プロジェクトが GitHub にある場合は、これにJitPackを使用できます。コードがビルドされ、jar が公開されます。

Web サイトに手順とドキュメントがあります。基本的に、JitPack をリポジトリとして追加してから、プロジェクトを依存関係として追加します。

于 2015-09-28T15:54:21.810 に答える