文章目录
- 1 初识 Gitee Go
- 名词解释
- 2 三分钟快速入门(三步开启流水线)
- 创建流水线
- 配置流水线
- 三条流水线
- 运行流水线
- test:修改代码能否自动触发
- 3 流水线基本概念
- master-pipeline.yml
- 4 触发事件
- push触发(git push → 自动运行 CI)
- PR 触发(Pull Request)
- 手动触发
- 5 任务编排
- 顺序执行
- 依赖控制
- 并行执行
- 6 参数与变量
- 变量的作用
- 变量的类型
- 变量的语法
- 7 流水线插件
- 插件的格式
1 初识 Gitee Go
Gitee Go 是 Gitee 推出的一个 CI/CD 工具。(Gitee Go = Gitee 上用来做自动构建(运行)、自动测试、自动发布的流水线系统。)
名词解释
1、流水线:一个自定义流程编排工具,由多个阶段组成。(一整套自动执行流程)
2、阶段:用于管理一组业务属性相似的任务,比如构建、测试、部署;每个阶段包含一个或多个任务。(流水线里的大步骤)
3、任务:是流水线的最小调度单元,一个任务下的脚本等内容会在同一个运行环境中执行。(真正干活的最小执行单元)
4、插件:用来实现编译、镜像构建、单元测试、代码扫描、部署等逻辑,分官方插件和用户自定义插件。(平台已经封装好的功能模块)
5、触发:是启动流水线的方式,常见有代码变更自动触发、手工触发、定时触发。(流水线什么时候开始跑)
6、运行(构建):代表流水线的一次执行,结束后会得到所有阶段、任务相关日志和结果。(一次运行 = 一次构建记录)
7、制品:是流水线处理的各种数据,比如可执行程序、jar 包、Docker 镜像、Helm Chart 等。(构建结果)
8、参数:是在流水线、阶段、任务上下游传递的内容,以 key-value 形式存在。(各阶段之间传递的信息)
2 三分钟快速入门(三步开启流水线)
也就是说如何从 0 到 1 创建并运行一条流水线
1️⃣ 创建流水线 2️⃣ 配置流水线 3️⃣ 运行流水线创建流水线
1、进入仓库
2、点击流水线
3、点击开通Gitee Go
4、选择Python模板(假设是Python项目)
5、点击创建
配置流水线
在仓库中可以看到.workflow
三条流水线
配置流水线的执行逻辑就是在yaml文件中编写
CI的核心就是YAML配置文件
运行流水线
点击 MasterPipeline 点击“运行” 点击“开始构建”让平台执行YAML中定义的流程
同一条流水线可以执行很多次
test:修改代码能否自动触发
因为每次代码变化都会触发自动构建流程,如果你修改了 main.py 并 push 到 master,会发生什么?自动触发 MasterPipeline → 自动执行 YAML → 自动构建。
我在 master 分支修改了 main.py 并提交代码。由于 master-pipeline.yml 中配置了 Push 事件触发且仅匹配 master 分支,Gitee Go 在收到这次 push 后自动执行了 MasterPipeline,并生成新的构建记录,从而验证了代码提交可自动触发持续集成流程。
3 流水线基本概念
流水线是如何组织和执行的?
CI 默认是“从上到下顺序执行”
master-pipeline.yml
4 触发事件
什么时候自动运行流水线
CI 的核心不是“能运行”,而是:自动运行
push触发(git push → 自动运行 CI)
只有 push 到 master 才触发
PR 触发(Pull Request)
当你发起合并请求时触发(开发分支 → 提交 → 发起 PR → 自动检查)
手动触发
点击“运行”
5 任务编排
如何组织多个任务,让流水线更复杂、更高效。
任务编排主要解决 3 个问题:
1️⃣ 顺序执行 2️⃣ 并行执行 3️⃣ 依赖控制顺序执行
默认就是顺序执行
Stage1 → Stage2 → Stage3依赖控制
yaml文件中包含:
dependsOn: build_python并行执行
并行就是:多个任务同时执行
使用并行可以提高CI的速度
6 参数与变量
让流水线变“可配置、可复用、可动态变化”
变量的作用
1、提高复用性(不用每次都修改yaml文件)
2、支持不同环境
变量的类型
1、全局变量(整个流水线都可以使用)
2、阶段变量(某个阶段stage内可以使用)
3、任务变量(某个步骤step内可以使用)
变量的语法
${变量名}7 流水线插件
流水线里的每个步骤,本质都是在调用“插件”
插件的格式
step: 插件名@类型