Автоматизировал билд node.js в .gitlab-ci.yml таким способом:
build:
stage: build
image: trion/ng-cli:latest
script:
- npm ci --loglevel verbose
- ng build --prod --aot --output-hashing=all --serviceWorker
artifacts:
expire_in: 60 minutes
paths:
- ./dist/webpp
interruptible: true
tags:
- docker
only:
- stage
Все работает но каждый раз npm install занимает время.
Хочу ооптимизировать этот процесс и установить npm в самом docker
пробовал собрать образ таким способом:
FROM trion/ng-cli:latest
COPY package.json package-lock.json angular.json ./
RUN npm install && npm install --loglevel verbose
и уже этот образ использовать для билда приложения:
build:
stage: build
image: имя образа
script:
- ng build --prod --aot --output-hashing=all --serviceWorker
artifacts:
expire_in: 60 minutes
paths:
- ./dist/webpp
interruptible: true
tags:
- docker
only:
- stage
но не сработало, при билде выскакивает ошибка:
An unhandled exception occurred: Cannot find module '@angular-devkit/build-angular/package.json'
хотя модули по идее все установлены.
Пробовал еще такой образ, с тем же успехом.
FROM node:latest
COPY package.json package-lock.json angular.json ./
RUN npm install && npm install @angular-devkit/build-angular --loglevel verbose
Можете посоветовать что делать?