나는 Blueemix DevOps 파이프 라인을 사용하여 Blueemix에 Node.js 앱을 클라우드 파운드리 응용 프로그램으로 배포하고 있습니다. sdk-for-nodejs 빌드 백을 사용하고 있습니다 (지정하지는 않았지만 package.json
파일을 감지하고 있습니다).sdk-for-nodejs buildpack을 사용하여 Bluemix에 앱을 배포 할 때 원하지 않을 때 npm install을 실행합니다. 어떻게 그걸 막을 수 있니?
앱을 실행하는 데 시간이 오래 걸립니다. 로그를 보면 npm install
이 실행중인 것 같습니다. 그러나, 내 파이프 라인을 설정하여 npm install
이 초기 단계에서 호출되고 배포 될 빌드 아티팩트에 이미 설치된 node_modules
이 포함되어 있으므로이를 복구해야한다면 빨리 처리해야합니다. 모든 모듈을 다시 설치하십시오.
이
내 파이프 라인 배포 사용하는 명령입니다cf push "${CF_APP}" -c "npm run start:prod"
내 Procfile이 같은 명령을 포함
web: npm run start:prod
node: npm run start:prod
(내가 함께 두 번째없이 모두를 시도했습니다 라인 아래에있는 로그는 두 줄이 모두 포함 된 경우라고 생각합니다.)
실제로 배포 로그의 마지막 부분에는
이 표시됩니다.App mcp-server was started using this command `npm run start:prod`
내 package.json
파일에 그 스크립트는 npm install
를 실행하지 않습니다
"scripts": {
...
"start:prod": "cross-env NODE_ENV=production node index.js",
는 모듈을 설치하는 다시 것처럼 보이게 로그는 다음과 같습니다 특히주의의
Staging...
-----> IBM SDK for Node.js Buildpack v3.11-20170303-1144
-----> Creating runtime environment
NPM_CONFIG_PRODUCTION=true
NODE_ENV=production
NODE_MODULES_CACHE=true
-----> Installing binaries
engines.npm (package.json): unspecified (use default)
Resolving node version >=4 via 'node-version-resolver'
Installing IBM SDK for Node.js (4.8.0) from cache
Using default npm version: 2.15.11
-----> Restoring cache
Loading 2 from cacheDirectories (default):
- node_modules (exists - skipping)
- bower_components (not cached - skipping)
-----> Building dependencies
Rebuilding any native modules
> [email protected] postinstall /tmp/app/node_modules/radium
> [email protected] install /tmp/app/node_modules/dtrace-provider
> [email protected] install /tmp/app/node_modules/pre-commit
> [email protected] postinstall /tmp/app/node_modules/spawn-sync
> node postinstall
Completed: 0.1% (0.1mb/78.2mb)
...
Completed: 99.9% (78.2mb/78.2mb)
inside extract, run complete
Completed: 0.0% (0.0mb/78.2mb)
Completed: 0.1% (0.0mb/78.2mb)
Completed: 2.6% (2.0mb/78.2mb)
Completed: 8.3% (6.5mb/78.2mb)
Completed: 43.1% (33.7mb/78.2mb)
Completed: 44.3% (34.7mb/78.2mb)
Completed: 45.5% (35.6mb/78.2mb)
Completed: 64.2% (50.2mb/78.2mb)
Completed: 65.0% (50.8mb/78.2mb)
Completed: 66.5% (52.1mb/78.2mb)
Completed: 71.4% (55.8mb/78.2mb)
> node-gyp rebuild
make: Entering directory `/tmp/app/node_modules/nodejieba/build'
...
> [email protected] postinstall /tmp/app/node_modules/spawn-sync
> npm run clean && npm run build
> [email protected] clean /tmp/app
> [email protected] build /tmp/app
> cross-env NODE_ENV=production webpack --config webpack.config.js
은 줄 :
Completed: 0.1% (0.1mb/78.2mb)
...
Completed: 99.9% (78.2mb/78.2mb)
나는 아주 천천히 뭔가를 설치하는 것처럼 보이는 곳에 100 줄 넘게 잘 생략했습니다.
또한 : 정말 배치시에 실행하지 않으려는 내 응용 프로그램에서 스크립트입니다
> npm run clean && npm run build
> [email protected] clean /tmp/app
> [email protected] build /tmp/app
> cross-env NODE_ENV=production webpack --config webpack.config.js
.
이미 npm run start:prod
을 실행하도록 알려 주려고했는데 어떻게 설치를 중단 할 수 있습니까?