运行 超过 4 个工作与 CircleCI 并行

Running more than 4 jobs in parallel with CircleCI

如果我有这样的 .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

也许这需要付费帐户?

简答:

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/

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

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

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