如何在单个GitLab CI流水线任务中同时使用多个Runner?
让GitLab CI任务在多个Runner上并行执行
要让你的deploy任务同时在两台带test标签的Runner上执行,有两种简洁的实现方式:
方法一:使用parallel关键字
直接在job中添加parallel字段,指定并行实例的数量为2,GitLab会自动将两个任务实例分配给可用的test标签Runner执行。
修改后的CI配置:
deploy: stage: deploy tags: - test parallel: 2 # 指定并行执行2个实例 script: - echo 'Deploying...'
方法二:使用job矩阵(matrix)
通过定义一个变量矩阵,生成多个独立的job实例,每个实例都会被调度到符合标签条件的Runner上。这种方式更灵活,后续如果需要扩展更多Runner,只需增加矩阵元素即可。
修改后的CI配置:
deploy: stage: deploy tags: - test script: - echo 'Deploying on runner instance $INSTANCE...' parallel: matrix: - INSTANCE: [1, 2] # 生成2个并行任务实例
注意事项
- 确保两台Runner都处于活跃可用状态,且没有被锁定到特定项目或分支
- 两台Runner的
test标签配置正确,GitLab能识别到它们的标签匹配
内容的提问来源于stack exchange,提问作者rfg
相关产品推荐
相关产品推荐

