GitLab Auto DevOps如何指定运行的Runner?
GitLab Auto DevOps 指定Runner及默认选择原因解答
能否指定Auto DevOps使用的Runner?如何操作?
可以指定,两种常用方法:
方法1:通过CI/CD全局变量统一指定
- 进入项目的「Settings > CI/CD > Variables」页面
- 点击「Add variable」,创建名为
CI_RUNNER_TAGS的变量,值填你要指定的Runner标签(比如dind) - 保存后,所有Auto DevOps生成的Job都会要求匹配带有该标签的Runner,直接匹配你的dind Runner
方法2:自定义CI配置精细控制
如果需要给不同阶段的Job指定不同Runner,可在项目根目录创建.gitlab-ci.yml文件,引入Auto DevOps模板并覆盖对应Job的标签配置:
include: - template: Auto-DevOps.gitlab-ci.yml # 示例:给build阶段指定dind标签的Runner build: tags: - dind # 其他阶段(如test、deploy)若需指定,可按同样格式覆盖
为何默认选择无标签的Runner?
GitLab Runner的匹配规则是:
- 若Job未指定
tags,仅会匹配无标签的Runner,带标签的Runner不会被纳入候选(哪怕Runner的标签和Job无冲突) - Auto DevOps默认生成的所有Job都没有设置
tags,所以只会优先选择你的无标签Ubuntu Runner - 当你暂停无标签Runner后,没有符合「无标签」要求的Runner可用,因此任务提示无可用Runner
内容的提问来源于stack exchange,提问作者veila
相关产品推荐
相关产品推荐

