与 CircleCI 并行运行 4 个以上的作业

5 circleci circleci-workflows circleci-2.0

如果我有这样的.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
Run Code Online (Sandbox Code Playgroud)

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

我的猜测是在工作流下,我可以更改并行级别?

workflows:
  version: 2
  build_nodejs:
    parallelism: 5
    jobs:
      - build-node8
      - build-node9
      - build-node10
      - build-node11
      - build-node12
Run Code Online (Sandbox Code Playgroud)

也许这需要付费帐户?

Par*_*zie 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/

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

您能检查一下您的计划中有多少个集装箱,然后报告吗?

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