我正在使用Gitlab CI来为我的Node.js应用程序实现CI . 我已经在使用工件并共享作业之间的依赖关系,但是,我想让它更快 . 每次管道启动时,它都会在第一个作业期间安装依赖项,我想通过在Docker映像中包含所有依赖项并将该映像传递给测试和 生产环境 阶段来防止这种情况 . 但是,我无法这样做 . 显然Gitlab没有在我的图像的WORKDIR中运行代码 .

以下是我的Dockerfile:

FROM node:6.13-alpine
WORKDIR /home/app
COPY package.json .
RUN npm install
CMD [“sh”]

以下是我的gitlab-ci.yml:

test:
  image: azarboon/dependencies-test
  stage: test
  script:
     — pwd
     — npm run test

查看日志, pwd 会产生 /builds/anderson-martin/lambda-test ,这与定义的WORKDIR不同,也找不到已安装的依赖项 . 你有什么建议让我如何Dockerize我的依赖关系,加快构建阶段?