2016-08-03 14 views
3

GruntやGulpなどのノードツールチェーンを使用するプロジェクトでCIが構築されるのは、私にとっては不便です。その大半は、npm installによって消費されます。Dockerコンテナ内のpre-cache node_modules

私は、npmキャッシュ内のすべてのnode_module依存関係でプリベークされたDockerイメージをセットアップしようとしましたが(それぞれ、package.jsonファイルで宣言されているのと同じ固定リリースです)、ビルドそれが本当に必要なのは、npmキャッシュからプロジェクトのnode_modulesにいくつかのディレクトリをコピーすることだけです。

私はcache-minを9999999に設定しましたが、依然として必要以上に時間がかかるようです。

私はlocal-npmnpm_lazyのように見えましたが、それらは一番上に見え、前者はインストールに時間がかかります - 存在するnpmモジュールを1つずつダウンロードしようとしていると思われます。 Dockerコンテナからそれらを提供するためにWebサーバーを実行する必要があります。

...何か不足していますか? CIビルドを実行するためのより速い方法が必要です。

+0

npmモジュールを含むベースイメージをダウンロードするのにかかる時間を確認しましたか? – atv

+0

@atvいいえ、それは問題ではありません。イメージのダウンロードは実際にはかなり速いですが、固定バージョンであってもnpmはキャッシュからディレクトリをコピーするのではなく、すべてをダウンロードしてビルドしたいと考えています –

答えて

0

.npmrcを使用して、ドッカーコンテナ内のnpmキャッシュを指すようにすることができました。私はあなたのコンテナにexecをドッキングし、npm config list | grep cacheを実行してキャッシュが使用されていることを確認することをお勧めします。

+0

詳細を記してください。 – Kostanos

関連する問題