【Gitlab】gitrunner并发配置

并发介绍

涉及到并发控制的一共有4个参数: concurrent , limit ,request_concurrency,parallel

全局的配置:

复制代码
[root@iZ2vc6igbukkxw6rbl64ljZ config]# vi config.toml 
concurrent = 4  #这是一个总的全局控制,它限制了所有pipline,所有runner执行器同时可以并发执行job的总数,这里是4就是整体并发是4,其他的job只能等。
check_interval = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "jtkj-docker"

执行器Runner配置

复制代码
[[runners]]
  limit = 2  #限制了这个runner最大可以同时并行执行2个job
  request_concurrency = 4  #这个参数控制一个runner执行器可以一次从gitlab的任务队列中获取多少个任务数,这个对于共享执行器来说比较有用,比如gitlab任务队列中有10个任务,现在有3个执行器runner都符合这些任务执行的,那么为了提高效率,设置每个同时获取3 或 4个就比较好,这样可以保证每个执行器runner都可以获取到合适数量的任务,保障了并行执行的效率;如果一个执行器配置了10,那么它一次就拿完了所有的任务,但是它要一次执行不行了那么多任务,其他执行器要不能获取到任务,就只能空闲了。

上面3个参数修改了要重启gitlab-runnner

parallel配置

复制代码
codescan:
  stage: codescan
  tags:
    - build
  only:
    - master
  script:
    - echo "codescan"
    - sleep 5;
  parallel: 3  #配置在stage中, 这个参数就是表示: 这个job在执行时要同时启动3个

在Gitlab流水线上看到的效果就是:

但是这个并发的job数也是受控上面的全局参数concurrent 和runner的limit并发数控制的,不能超过它 ,我在测试列中设置了concurrent =4 parallel=6 那么当这个pipline启动时,也就并行4job,不是 6

相关推荐
daemon.qiang7 天前
国内虚拟机对接 Freedesktop:Fork xserver、自建 Runner 与提交 MR 实战
linux·ubuntu·centos·gitlab·开源软件
snow@li11 天前
服务器运维:K3S 下 Jenkins ↔ GitLab 的 CI/CD 闭环 / 访问成功
运维·gitlab·jenkins
旧梦星轨13 天前
Git Flow 工作流实践
git·gitee·gitlab·github
旧梦星轨13 天前
Github Flow 与 Gitlab Flow工作流实践解读
gitlab·github
极小狐16 天前
干掉流水线里的长期密钥:用 OIDC 让 CI/CD 与云以临时凭证对接
microsoft·ci/cd·gitlab·devops·ci·cd·oidc
snow@li16 天前
服务器运维:阿里云安装软件gitlab/智能体协助安装/智能体协同运维
运维·gitlab
极小狐17 天前
CI 流水线提速实战:缓存设计与依赖代理的工程实践
缓存·ci/cd·gitlab·devops
DevOps老兵18 天前
AI Infra实战11:模型部署Pipeline——CI/CD自动化
人工智能·ci/cd·ai·自动化·gitlab
极小狐18 天前
从复制粘贴到可复用组件:极狐GitLab CI/CD 组件目录实战
java·ci/cd·gitlab·devops·组件化
极小狐18 天前
用 Flow 编排 Agent 智能体:极狐GitLab Duo 自定义工作流实战
ai·gitlab·agent·devops·flow·duo