背景
在GitLab CI/CD中 GitLab Runner 是要与GitLab 紧密合作的,在流水线运行过程中,他们之间经常会进行数据的交互,理解他们之间的数据流转对我们理解这个流水线的运行周期非常重要。下面我就结合官方的GitLab Runner 执行来做一次详细的分析。
runner 执行流程图
该图来自官方,官方地址 https://docs.gitlab.com/runner/#runner-execution-flow
流程详解
注册runner
在安装GitLab Runner后,我们需要执行注册这个动作,该动作需要两个重要参数就是GitLab 的Host,以及注册令牌token,有了这两个参数,我们就能将GitLab Runner与GitLab 对接起来。在这一过程中GitLab Runner使用POST请求方式,调用的是/api/v4/runner
接口,并携带了注册令牌token。注册成功后GitLab,GitLab实例保存注册的Runner信息,包括tags,runner描述,IP等信息,并且会给GitLab Runner返回一个状态,并携带了runner_token。GitLab Runner接受到返回的成功状态后,会在它的配置文件中新增一个ru