Доброе утро!
Подскажите, каким образом лучше настроить Jenkins для сборки angular приложения.
Сейчас процесс выглядит так:
- забираю последние изменения из ветки
- npm ci
- npm run build
- npm run deploy
Использую angular 9, пакеты практически не обновляются. Но каждый раз, npm ci удаляет node_modules и заново скачивает все пакеты и компилирует для ivy, итого тратится много времени на npm ci, хотя package-lock.json не изменился.
Вопросы:
- Можно ли не каждый раз вызывать npm ci? (запускал сборку без этого блока, все ок, но может чего-то не учитываю. Сборка была быстрее на 6 минут (было - 11, стало - 5))
- Как проверять что надо запускать npm ci при изменении package-lock.json ? (думал про контрольную сумму, но как и где её хранить?)