2016-08-03 4 views
3

Grunt 및 Gulp와 같은 노드 도구 체인을 사용하는 프로젝트에서 CI가 빌드하는 데 오랜 시간이 걸리며 그 중 대부분은 npm install에 의해 소비됩니다.Docker 컨테이너의 pre-cache node_modules

nock 캐시에있는 모든 node_module 종속성 (각 패키지는 내 package.json 파일에 선언 된 동일한 고정 릴리스에 있음)을 사용하여 사전 구워진 Docker 이미지를 설정하려고했지만 빌드 정말로 필요한 모든 작업이 npm 캐시의 일부 디렉토리를 프로젝트의 node_modules로 복사해야하는 경우에도 몇 분이 걸립니다.

나는 cache-min을 9999999로 설정했으나 여전히 필요 이상으로 오래 걸리는 것처럼 보입니다.

나는 local-npm 보니 npm_lazy하지만 그들은 맨 위에 보이는, 그리고 전자는 설치 나이를 취했습니다 - 난 단지 제한된 수의 필요하지 - 나는 존재의 모든 단일 NPM 모듈을 다운로드하려고 의심 Docker 컨테이너에서 서비스를 제공하기 위해 웹 서버를 실행해야합니다.

... 제가 누락 되었습니까? CI 빌드를 실행하는 더 빠른 방법이 있어야합니다 ...

+0

npm 모듈을 포함하는 이미지를 다운로드하는 데 걸리는 시간을 확인 했습니까? – atv

+0

@atv 아니, 그게 문제가 아니야. 이미지 다운로드는 실제로 꽤 빠르지 만 고정 버전을 사용하는 경우에도 npm은 캐시에서 디렉토리를 복사하는 것보다 모든 것을 다운로드하여 빌드하려고합니다. –

답변

0

도커 컨테이너 내의 npm 캐시를 가리 키도록 .npmrc를 사용하여 작동시킬 수있었습니다. 도커 exec을 컨테이너에 넣고 npm config list | grep cache을 실행하여 캐시가 사용되는지 확인하십시오.

+0

정확한 단계를 수행하는 방법에 대한 자세한 정보를 게시 할 수 있습니까? – Kostanos

관련 문제