5

Scala プロジェクトの継続的な統合に docker を使用しています。コンテナ内でプロジェクトをビルドし、「sbt dist」でディストリビューションを作成しています。

これにはすべての依存関係を引き出すのに何年もかかります。ここで説明されているように、docker データ ボリュームを使用したいと思います: http://docs.docker.io/en/latest/use/working_with_volumes/

ただし、SBT に jar ファイルをボリュームに配置させる方法や、SBT がそのボリュームからファイルを読み取る方法を知る方法がわかりません。

4

2 に答える 2

12

SBT は ivy を使用してプロジェクトの依存関係を解決します。Ivy はダウンロードしたアーティファクトをローカルにキャッシュし、何かをプルするように求められるたびに、最初にそのキャッシュに移動し、何も見つからない場合はリモートからのダウンロードを行います。デフォルトでは、キャッシュは にあります~/.ivy2が、実際には設定可能なプロパティです。したがって、ボリュームをマウントし、アイビーをそれに向けて (またはデフォルトの場所になるようにマウントして)、キャッシュを楽しんでください。

于 2014-02-27T15:06:20.777 に答える
9

これが統合サーバーで意味があるかどうかはわかりませんが、localhost で開発する場合、次のように、ホスト.ivy2/.sbt/ディレクトリをコンテナー内のボリュームにマッピングしています。

docker run ...  -v ~/.ivy2:/root/.ivy2  -v ~/.sbt:/root/.sbt  ...

(どうやら、ルート ユーザーとしてコンテナーにログインしているため、コンテナー内に.ivy2/.sbt/が配置されているようです。)/root/

于 2014-11-30T07:12:10.753 に答える