如果我有一个 .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/
关于您在问题中粘贴的配置文件代码片段 - 看起来不错(您不需要并行度:5 标志,因为 circle 将自动使用所有可用的计划容量)
您能否检查一下您的计划中有多少个容器,然后再报告?
仅供引用 - CircleCi 容器和并发作业计划信息:
https://circleci.com/pricing/
关于circleci - 与 CircleCI 并行运行 4 个以上的作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56385413/