【问题标题】:Do I have to npm install in every step in a bitbucket pipeline that I need to use an npm command我是否必须在需要使用 npm 命令的 bitbucket 管道中的每个步骤中安装 npm
【发布时间】:2020-10-31 01:24:51
【问题描述】:

我有一个 bitbucket 管道 yml,我有一个运行测试脚本的步骤和一个运行无服务器部署脚本的步骤。我是否需要在每个步骤中安装 npm,或者第一个 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

【问题讨论】:

    标签: node.js docker npm aws-lambda bitbucket-pipelines


    【解决方案1】:

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

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

    【讨论】:

    • ok 所以使用 node 选项缓存 node_modules。太棒了,谢谢!
    • 将 npm install 传递到下一步对我不起作用...
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2021-07-27
      • 2021-09-06
      • 2019-01-17
      • 1970-01-01
      • 2019-05-21
      • 2018-12-03
      • 1970-01-01
      • 2019-04-16
      • 1970-01-01
      相关资源
      最近更新 更多