我确定这是一个常见问题,但是我似乎找不到明确的答案。
我有一个节点应用程序,为了构建它需要一些devDependencies,例如babel
。为了运行测试,还需要诸如jest
之类的devDependencies。但是,当CI在生产环境中运行时,它显然不会安装任何devDependencies,因此在找不到该软件包的地方会出现错误。
在没有devDependencies的情况下在产品中运行构建和测试的最佳实践是什么?
如果有帮助,我将在GitLab Pipelines中运行我的构建:
image: node:8.11.2
stages:
- prepare
- test
- deploy
install_and_build:
stage: prepare
script:
- npm install yarn
- yarn
- yarn build
only:
- master
test:
stage: test
script:
- yarn test
only:
- master
deploy_production:
type: deploy
stage: deploy
image: ruby:latest
script:
- apt-get update -qy
- apt-get install -y ruby-dev
- gem install dpl
- dpl --provider=heroku --app=app-name --api-key=$HEROKU_API_KEY
only:
- master