我是否必须在需要使用 npm 命令的 bitbucket 管道中的每个步骤中安装 npm

Do I have to npm install in every step in a bitbucket pipeline that I need to use an npm command

我有一个 bitbucket pipelines yml,我有 运行ning 我的测试脚本的步骤和 运行 无服务器部署脚本的步骤。我是否需要在每一步都进行 npm install,或者第一个 npm install 是否会完成并足以满足每个后续步骤。除此之外,幕后发生了什么?我知道 Docker 容器已创建;每个步骤是否只更新容器?

- step:
        name: Test and Build
        script: 
          - npm install --no-package-lock
          - npm run test
    - step:
        name: Deploy Serverless
        script:
          - npm i serverless -g
          - npm install --no-package-lock
          - npm run deploy

能不能像文档那样实现:https://confluence.atlassian.com/bitbucket/caching-dependencies-895552876.html

功能就在那里。如果它仍然不适合你,请告诉我。

管道中的每个步骤都会创建一个单独的 docker 容器,用于拉入您的分支。使用缓存选项将允许您的管道在为第二步构建容器时通过从缓存中提取 node_modules 来跳过安装。您仍然必须在每个步骤中包含 npm install 行,以告诉管道使用存在的缓存。