You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在.gitlab-ci.yml中何处指定gitlab-runner executor?未配置为何仍用docker运行

GitLab CI 执行问题解答

你使用的.gitlab-ci.yml配置如下:

build-job:
  stage: build
  script:
    - echo "Hello, $GITLAB_USER_LOGIN!"

未指定executor和镜像仍能在Docker容器运行的原因

这两个配置都不属于用户侧CI文件的必填项,规则如下:

  • executor是GitLab Runner自身的部署配置,由共享Runner的管理员在注册Runner时就提前设置完成,你用到的共享Runner已经被管理员配置为docker executor,所有提交到这个Runner的任务默认都会在Docker容器中执行,不需要用户在自己的CI配置里额外声明。
  • docker executor支持管理员配置全局默认运行镜像,一般是alpine、ubuntu这类通用基础镜像,如果你没有在CI配置中显式写image字段指定镜像,Runner会自动用这个默认镜像启动容器执行你的脚本。

executor的声明规则

GitLab 不支持直接在.gitlab-ci.yml文件里指定Runner的executor类型,你可以通过标签匹配的方式选择使用对应executor的Runner:

  • 首先确认平台共享Runner的标签规则,通常管理员会给不同executor的Runner打上对应标签,比如docker executor的Runner会打docker标签,shell executor的Runner会打shell标签
  • 在job配置中添加tags字段,匹配对应标签即可调度到对应executor的Runner,示例配置如下:
build-job:
  stage: build
  # 匹配带docker标签的Runner,这类Runner默认使用docker executor
  tags:
    - docker
  script:
    - echo "Hello, $GITLAB_USER_LOGIN!"

内容的提问来源于stack exchange,提问作者Santhosh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 16:24:05