自托管GitLab使用公共运行器时CI作业无可用运行器问题咨询
配置差异的原因
GitLab.com 官方默认提供了全平台共享的公共CI运行器,所有在GitLab.com上托管的项目默认可以直接使用这些公共运行器执行CI作业,无需用户手动部署配置。而自托管GitLab实例默认没有预置任何可用的运行器资源,所有运行器都需要实例管理员或项目维护者自行部署、注册后才能使用,这就是两边配置表现不一致的核心原因。
运行器配置操作步骤
你可以根据自己的资源情况选择将运行器部署在和GitLab实例同机,或者单独的服务器上,支持Docker、裸机等多种部署方式,通用操作流程如下:
- 第一步:安装GitLab Runner
根据部署环境的操作系统选择对应的安装方式,官方支持Linux、Windows、macOS系统,也可以直接部署Docker版本的GitLab Runner,无需额外依赖配置。 - 第二步:获取注册令牌
如果要配置实例全局共享的运行器,使用实例管理员账号进入「管理中心」-「CI/CD」-「运行器」页面即可获取共享运行器注册令牌;如果只需要给当前项目配置专用运行器,进入项目的「设置」-「CI/CD」-「运行器」板块,展开项目运行器区域即可获取对应令牌。 - 第三步:注册运行器
在部署好GitLab Runner的设备上执行gitlab-runner register命令,按照命令行提示依次输入:自托管GitLab实例地址、上一步拿到的注册令牌、运行器描述名称、运行器标签(如果你的CI作业配置了tags参数需要和此处标签匹配,也可以后续设置允许运行无标签作业)、执行器类型(建议选择docker即可匹配你的镜像配置需求)、默认镜像地址。 - 第四步:启动运行器
执行gitlab-runner start命令启动运行器服务,返回GitLab的运行器管理页面确认运行器状态为在线后,CI作业就可以正常调度执行。
注意:如果使用docker执行器,需要确保运行器所在的设备可以正常拉取
gitlab-ci.yml中配置的镜像,私有镜像需要额外配置拉取凭证。
内容的提问来源于stack exchange,提问作者user971741
相关产品推荐
相关产品推荐

