文章目录
- [1 Fork一个Gitee Go官方Demo仓库](#1 Fork一个Gitee Go官方Demo仓库)
-
- 访问官方文档
- [按需Fork Demo仓库](#按需Fork Demo仓库)
- 我选择了Python使用示例
- [2 进入你Fork后的仓库开启Gitee Go](#2 进入你Fork后的仓库开启Gitee Go)
- [3 让系统自动生成 3 条流水线](#3 让系统自动生成 3 条流水线)
-
- [启用Gitee Go默认创建三条流水线](#启用Gitee Go默认创建三条流水线)
- [4 直接触发构建](#4 直接触发构建)
- [5 查看运行结果](#5 查看运行结果)
- [6 总结](#6 总结)
- [7 解析master-pipeline.yml(流水线配置文件)](#7 解析master-pipeline.yml(流水线配置文件))
1 Fork一个Gitee Go官方Demo仓库
访问官方文档
https://help.gitee.com/gitee-go/get-started-in-3-steps
按需Fork Demo仓库

我选择了Python使用示例

2 进入你Fork后的仓库开启Gitee Go
点击流水线

3 让系统自动生成 3 条流水线
启用Gitee Go默认创建三条流水线
并且会向你的仓库自动提交一次,生成 .workflow 文件夹和三个 YAML 文件

MasterPipeline.yml:主分支流水线
BranchPipeline.yml:普通分支提交时触发的流水线
PRPipeline.yml:发起 Pull Request 时触发的流水线

4 直接触发构建

5 查看运行结果

6 总结
到底干了什么
在 Gitee 远端成功跑通现成的商用持续集成参考设计,并演示结果。
持续集成CI
开发者写完代码后,不要等到最后一起手工检查,而是每次提交代码后,让系统自动帮你做检查、构建、测试。(代码一提交系统自动开始干活自动判断这次改动有没有问题)
Gitee远端
不是你在自己电脑上手动运行脚本,而是在Gitee平台的服务器环境里运行。(代码放在Gitee仓库流水线也在Gitee上配置构建、检查、发布等操作由Gitee平台执行)
商用的参考设计
直接Fork官方Demo使用官方默认生成的流水线模板证明这套"标准设计"在Gitee上能跑通。
7 解析master-pipeline.yml(流水线配置文件)

基本信息
yaml
version: '1.0'
name: master-pipeline
displayName: MasterPipeline

stages流水线的阶段
compile编译阶段
yaml
- stage:
name: compile
displayName: 编译
Step 1:Python 构建
yaml
steps:
- step: build@python
name: build_python
displayName: Python 构建
pythonVersion: '3.9'
# 非必填字段,开启后表示将构建产物暂存,但不会上传到制品库中,7天后自动清除
artifacts:
# 构建产物名字,作为产物的唯一标识可向下传递,支持自定义,默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址
- name: BUILD_ARTIFACT
# 构建产物获取路径,是指代码编译完毕之后构建物的所在路径
path:
- ./
commands:
- python3 -m pip install --upgrade pip
- pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
- pip3 install -r requirements.txt
- python3 ./main.py
什么是"构建产物artifacts"?CI 运行完后产生的结果,比如:编译后的文件、打包结果、运行输出。
什么是"commands"?真正执行的命令
Step 2:上传制品(把刚刚的构建结果保存起来)
yaml
- step: publish@general_artifacts
name: publish_general_artifacts
displayName: 上传制品
# 上游构建任务定义的产物名,默认BUILD_ARTIFACT
dependArtifact: BUILD_ARTIFACT
# 上传到制品库时的制品命名,默认output
artifactName: output
dependsOn: build_python
release发布阶段
yaml
- stage:
name: release
displayName: 发布
steps:
- step: publish@release_artifacts
name: publish_release_artifacts
displayName: '发布'
# 上游上传制品任务的产出
dependArtifact: output
# 发布制品版本号
version: '1.0.0.0'
# 是否开启版本号自增,默认开启
autoIncrement: true
触发规则
当 master 分支有代码提交时,自动触发流水线
yaml
triggers:
push:
branches:
include:
- master