首页/开发/CI/CD 与发布速查/Runner 弹性伸缩
流水线设计54 条

Runner 弹性伸缩

按队列水位自动增减构建机:GitLab Runner Autoscaler(docker-autoscaler / instance 执行器)与云上自托管 Runner 均支持按需扩容。

CI/CD 与发布速查开发更新于 2026-10-12
GitLabRunner Autoscaler:空闲下限、上限与空闲时间决定伸缩节奏
GitHub自托管 Runner 结合云弹性组/伸缩集;也有规格更大的托管 Runner
目标排队时间与成本平衡:保留少量热机,其余按需拉起

Autoscaler 要点

Autoscaler 要点
[[runners]]
  executor = "docker-autoscaler"
  [runners.autoscaler]
  capacity_per_instance = 1
  max_use_count = 1
  max_instances = 20
弹性机冷启动慢(镜像预热、依赖下载):把常用镜像与依赖预置进机器镜像可缩短等待。

易错点

  • 只扩容不设上限:突发流水线推高云账单,配置 max_instances 并接告警
  • 缩容过于激进取掉热机:下一个作业等冷启动,平均时长反而上升

数据来源与参考

  • GitLab Docs《Runner autoscaling》
  • GitHub Docs《Self-hosted runners》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌