如何配置GitHub自托管Runner同时处理多个并行任务?
解决Docker部署的GitHub自托管Runner无法并行承接任务的问题
GitHub自托管Runner默认仅支持同时处理1个任务,你需要调整并发配置才能让它承接多个并行任务,以下是具体配置方法:
方法一:注册Runner时指定并发数(推荐)
如果是通过Docker命令直接启动Runner,启动时添加RUNNER_MAX_PARALLEL环境变量设置并发数,比如设置为4:
docker run -d \ --name github-runner \ -e RUNNER_NAME="my-parallel-runner" \ -e RUNNER_TOKEN="你的注册令牌" \ -e RUNNER_REPOSITORY_URL="https://github.com/你的仓库或组织地址" \ -e RUNNER_MAX_PARALLEL=4 \ myoung34/github-runner:latest
如果是手动在容器内注册Runner,执行注册脚本时加上--max-parallel参数:
./config.sh --url https://github.com/你的仓库或组织地址 --token 你的注册令牌 --max-parallel 4
方法二:修改已有Runner的配置文件
如果不想重新注册,可直接修改容器内的Runner配置:
- 进入运行中的Runner容器:
docker exec -it github-runner /bin/bash
- 找到
config.toml配置文件(通常位于Runner安装目录下,比如/runner/config.toml,具体路径可根据你的镜像调整) - 编辑文件,将
concurrent = 1修改为你需要的并发数,比如:
concurrent = 4
- 重启容器使配置生效:
docker restart github-runner
注意事项
- 确保Ubuntu主机有足够的CPU、内存资源支撑并行任务,避免资源不足导致任务延迟
- 确认Workflow中的jobs确实无依赖关系(你提到摘要显示支持并行,这部分应该没问题,但可以再核对下
needs配置) - 若为组织级Runner,需确认组织的Runner组未设置并发限制
内容的提问来源于stack exchange,提问作者klaucode
相关产品推荐
相关产品推荐

