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

标签 circleci circleci-2.0 circleci-workflows

如果我有一个 .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 美元来添加额外的容器。
enter image description here

其他详细信息:

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

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

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

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

关于circleci - 与 CircleCI 并行运行 4 个以上的作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56385413/

相关文章:

ubuntu - circleCI 2.0 不添加环境变量

python - circleci:pip install dlib 失败

FaSTLane Match 无法使用个人访问 token 和用户名连接

scala - sbt 总是在 CI 中重新编译整个项目,即使有缓存?

go - 本地构建成功,而 CircleCI 构建失败

php - sudo apt-get install php-redis 停止工作

ios - CircleCI + React Native + Xcode 10

slack - 在Circleci 2.0中使用slackorb将git commit消息添加到slack消息中

git - 尝试在 CircleCI 上获取 golang 私有(private)依赖项时的问题

docker - 如何在CircleCI 2.0的部署步骤中的构建步骤中使用Docker镜像?