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

咨询:GitLab Server如何连接Centos实例上的GitLab Runner执行命令

GitLab服务器与Runner的通信原理

核心逻辑:GitLab服务器不会主动连接你的CentOS Runner,而是由Runner主动发起和GitLab服务器的通信,这就是为什么注册时不需要提供SSH或登录凭据的原因。

注册过程的核心操作

你在CentOS上注册Runner时,输入的GitLab实例URL和注册令牌,会让Runner在本地生成一个配置文件(默认路径:/etc/gitlab-runner/config.toml),这个文件里包含:

  • GitLab服务器的地址
  • 用于身份验证的专属token(由GitLab生成并返回给Runner,取代了注册时的临时令牌)
  • Runner的标签、执行器类型等配置

具体通信流程

  • Runner启动后,会以固定间隔(默认几秒)向GitLab服务器发送HTTPS请求,询问是否有分配给自己的CI/CD任务。
  • 当GitLab有匹配该Runner标签/配置的任务时,会通过这个已建立的连接把任务详情下发给Runner。
  • Runner在本地执行Job的过程中,会实时将日志、执行状态等信息通过这个连接回传给GitLab服务器,你就能在GitLab的项目CI/CD页面看到进度。

为什么不需要SSH凭据?

因为整个通信流程是Runner主动出站访问GitLab服务器,只要你的CentOS实例能正常访问GitLab的HTTPS端口(通常是443),不需要在CentOS上开放入站的SSH端口,也不需要GitLab服务器知道你的CentOS实例的登录信息。所有通信都通过HTTPS加密,用配置文件里的专属token做身份验证,确保安全。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 09:56:07