Gitlab CI/CD 打包学习笔记
一、名词解释
CI:持续集成,通过创建脚本自动构建和测试指定分支代码
CD:持续交付、持续部署,通过手动或自动实现程序安装部署
本文注重于CI相关学习
二、整体结构
Pipeline → Stages → jobs
可以简单类比成Projcet → Module → Class的关系
(1) Pipeline 流水线,表示一个完整的构建过程(一个完整的项目)
(2) Stages 阶段,可以理解为模块划分,例如登录模块前端、后端是一个stage,微服务是另一个stage,一个pipeline里可以定义多个stage(根据性质、属性等划分为不同的Module)
Stages 定义什么时候执行 Jobs,比如:在编译代码的阶段之后进入运行测试的阶段。
- 所有stages会按照顺序执行,当一个stage完成后,下一个stage才会开始
- 当所有stage成功完成后,本次Pipeline才算成功
- 构建过程中有任何一个stage失败,后续的stage都不会执行
(3) Jobs 任务,以登录模块举例,Jobs会有前端、后端两个job,表示相同stage下要执行的任务,一个stage里可以定义多个job(不同类完成不同的职能需求)
Jobs 定义了该做什么,比如:编译和测试代码。
- 相同stage的jobs会并行执行
- 项目stage的jobs都执行成功,该stage才会成功
- 任何一个job失败,都会导致stage失败
其中,job是构成CI系统的最小单位,job中包含多个元素,组成了单个构建过程,以下是job包含的必要元素
- script,CI/CD过程需要执行的shell脚本
- stage,声明该任务属于哪个阶段
- tags,数组属性,声明该job属于哪个runner执行
上述元素即可构成最简单的job,如下图所示,其中startJob、endJob为自定义命名,和保留字区分即可

三、安装Runner
在执行集成之前,需要安装好Runner作为基础运行环境,runner相当于一个装在另一个系统上的软件包,提供脚本功能执行的能力。
相当于在git服务器上配置好任务,把任务过程外包给了执行服务器(安装了runner的服务器),git服务器只负责回显执行结果。
类似编译器和基础环境、功能设计和功能实现的关系。
安装过程参考 Gitlab Runner的搭建与使用入门
下文以Linux举例
- 下载Linux Runner安装包,链接: https://pan.baidu.com/s/1E2iztJH8KPqAERP93dYInA 提取码: 5c3d
- 将安装包放置到任意目录下,并设置文件权限,如下图所示
![]()
- 执行 sudo gitlab-runner register --url 参数1(例如http://gitlab.com/) --registration-token 参数2(例如_4LfzxNXMVogfuYQ7qVY)
其中,参数1替换成需要绑定的git地址,参数2替换如下图所示

- 参数拼接完成后,按照下图描述执行

- 若出现提示ERROR: Registering runner... failed runner=_4LfzxNX status=couldn't execute POST against http://gitlab.com/api/v4/runners: Post "http://gitlab.com/api/v4/runners": dial tcp: lookup gitlab.com on 1.1.1.1: read udp 2.2.2.2:50263->1.1.1.1: i/o timeout
- 请参考详解Gitlab Runner注册与过程中遇到的问题,或尝试在/etc/hosts下增加gitlab的域名配置信息,如下图所示;配置完成后再尝试重新注册

- 注册成功后,在Runner配置中可找到对应的注册信息:

文章参考:
- https://blog.csdn.net/wangjiang_qianmo/article/details/122867335 Gitlab CI/CD简单介绍
- http://www.manongjc.com/detail/63-ynmgipfjzuukjhi.html Gitlab-CICD 最明了的入门教程
- http://www.manongjc.com/detail/28-tklvxekszkhkqln.html GitLab CI/CD Pipeline 与 jobs的概念
- https://www.jianshu.com/p/3ebbed238c74 GitLab Runner介绍
- https://www.jianshu.com/p/fd00a9cc87ef Gitlab Runner的搭建与使用入门
- https://blog.csdn.net/shouchenchuan5253/article/details/117638982 详解Gitlab Runner注册与过程中遇到的问题


浙公网安备 33010602011771号