5

如果我有这样的.circleci/config.yml文件:

version: 2
jobs:
  build-node8:
    docker:
      - image: oresoftware/lmx-circleci:8
    steps:
      - checkout
      - run: ./scripts/circleci/run.sh
  build-node9:
    docker:
      - image: oresoftware/lmx-circleci:9
    steps:
      - checkout
      - run: ./scripts/circleci/run.sh
  build-node10:
    docker:
      - image: oresoftware/lmx-circleci:10
    steps:
      - checkout
      - run: ./scripts/circleci/run.sh
  build-node11:
    docker:
      - image: oresoftware/lmx-circleci:11
    steps:
      - checkout
      - run: ./scripts/circleci/run.sh
  build-node12:
    docker:
      - image: oresoftware/lmx-circleci:12
    steps:
      - checkout
      - run: ./scripts/circleci/run.sh

这里列出了 5 个作业,但是当构建开始时,只有 4 个作业并行运行。有没有办法并行运行 4 个以上的作业,那里有硬限制吗?

我的猜测是,在工作流下,我可以改变并行度吗?

workflows:
  version: 2
  build_nodejs:
    parallelism: 5
    jobs:
      - build-node8
      - build-node9
      - build-node10
      - build-node11
      - build-node12

也许这需要一个付费帐户?

4

1 回答 1

3

简短的回答:

只要您的付款计划有足够的容器来服务每个工作,CircleCi 就可以让您并行运行尽可能多的工作。

我怀疑你的计划只有 4 个容器。您可以在 CircleCi 的设置选项卡中查看您有多少容器

在下面的示例中,我总共有 2 个容器可用:1 个付费 + 1 个免费。所以现在我最多只能并行运行 2 个作业。我可以为每个容器每月额外支付 50 美元来添加额外的容器。 在此处输入图像描述

额外细节:

本文对如何配置 circle ci 作业以并行运行进行了很好的概述(实际上它有一个示例,其中 5 个作业并行运行)。https://circleci.com/blog/decrease-your-build-times-by-running-jobs-in-parallel-with-workflows/

关于您在问题中粘贴的配置文件代码片段 - 看起来不错(您不需要并行度:5 标志,因为圆形将自动使用所有可用的计划容量)

您能否检查一下您的计划中有多少个容器,然后再报告?

仅供参考 - CircleCi 容器和并发作业计划信息: https ://circleci.com/pricing/

于 2019-06-07T19:58:28.417 回答