Gitee 帮助中心 / 帮助详情

    Gitee CICD流水线

    一、 什么是Gitee CICD流水线

    项目-流水线(Beta)Gitee全新推出的一款纯UI式的CICD工具,可为您提供持续集成、持续交付(部署)能力,帮助企业不断提升应用交付的质量和效率。通过构建自动化、测试自动化、部署自动化,完成从代码提交到应用交付的自动化。通过交付流程度量,发现效率问题,并推荐优化方案。
    输入图片说明

    二、流水线服务

    当前流水线为活动阶段,现向企业版客户不限时、不限并发数 免费 开放,如果您在使用中遇到问题,请加入QQ群:1078759826 及时向官方团队进行反馈,我们将会为您提供7*24小时不间断服务。

    三、应用场景

    场景1:交付流程搭建

    • 针对各种工程类型的应用(如Spring应用),每次代码变更进行自动化构建、测试、部署,对代码、制品、测试报告进行版本管理,对测试、部署进行分级
    • 产品形态:CI/CD流水线,流水线插件模板
    • 价值:快速实现可靠的交付流程(可追溯、可重复、可回滚)

    场景2:测试能力、部署能力服务化

    • 将更多的测试能力、部署能力以插件方式接入流水线,扩展流水线能力(如代码扫描),将原来需要依赖QA(测试工程师)、OP(运维工程师)操作的任务变为RD(研发工程师)自主调用服务完成(如搭建测试环境、分级部署)
    • 产品形态:插件中心
    • 价值:减少沟通申请成本、提升交付效率

    场景3:基于效率度量的持续改进

    • 产出代码变更到应用交付的效率报表和构建、测试、部署环节的过程报表,识别影响效率的关键过程进行改进,跟踪改进效果
    • 产品形态:度量报表
    • 价值:持续的效率改进

    四、名词解释

    流水线
    流水线提供了自定义流程编排工具,流水线由多个阶段组成
    阶段
    阶段用来管理一组业务属性相似的任务(例如,构建,测试和部署), 每个阶段包含一个或多个任务
    任务
    任务是流水线最小调度单元,一个任务下所有的脚本等内容在同一个运行环境中执行
    插件
    实现应用的编译、镜像构建、单元测试、代码扫描、覆盖率分析、测试部署、接口测试、集成测试、性能稳定性测试、分级部署逻辑的程序。插件分为官方插件和用户自定义插件,官方插件封装了标准的执行逻辑,用户只需配置输入和输出,无需关注资源;自定义插件由用户编写,用户可选择在自有资源上运行,以兼容无法与环境解耦的历史任务
    触发
    启动流水线的方式,常见触发方式有代码变更自动触发、手工触发、定时触发
    运行(构建)
    代表流水线的一次执行。 运行结束得到所有阶段、任务相关的日志以及运行的结果
    制品
    泛指流水线处理的各种数据,可以是可执行程序、lib文件、jar包、Docker镜像、Helm Chart部署文件等
    变量
    变量是指在流水线、阶段、任务上下游传递的内容,是流水线的重要组成部分,以key-value的形式存在

    五、快速上手

    5.1 使用项目流水线

    Gitee项目下均有“流水线”功能,点击打开
    输入图片说明
    左侧为流水线分组,右侧为流水线列表
    输入图片说明
    项目设置—>流水线设置,支持设置流水线分组、标签等,用于区分流水线
    输入图片说明

    5.2 创建流水线

    Gitee 企业版提供了 Java、Golang、Python 等语言的流水线模板,同时也支持自定义快速搭建流水线
    输入图片说明

    5.3 配置流水线

    可以选择示例代码源、代码仓库、流水线、制品

    示例代码源 由 Gitee 开源社区提供,便于流水线快速上手使用
    输入图片说明

    代码仓库 支持选择 Gitee 仓库,选择仓库和默认分支后,可以开启代码源自动触发功能,支持分支、标签、代码评审作为触发事件
    输入图片说明

    制品库源 可直接进行部署
    输入图片说明

    流水线源 适用场景可以作为上下游流水线的拉起
    输入图片说明

    后续我们将支持外源,请持续关注!

    5.4 构建上传

    构建内容包含:基础信息、任务信息、通知、高级配置
    输入图片说明
    输入任务名称
    输入图片说明
    选择项目所需编译的JDK版本和Maven版本号,然后输入构建命令执行
    输入图片说明
    构建物唯一标识用于区分多次构建产生的不同产出物,定义后在部署插件中使用
    打包文件/目录是当前构建产出包的位置存放目录

    输入图片说明
    私有仓库用于依赖文件的拉取,支持选择仓库类型为release和snapshot。构建缓存用于依赖缓存到的本地目录

    5.5 IM通知

    流水线插件可设置信息通知,支持企业微信、钉钉、飞书
    输入图片说明
    输入图片说明
    输入图片说明
    输入图片说明
    选择机器人通知插件,需要创建一个所选择的类型群并在群助手里添加机器人;Webhook凭证需在凭证管理里添加并引用(添加凭证,将机器人webhook地址复制到凭证,注意 Webhook 地址必须公网可访问)。
    通知事件支持任务成功、任务失败、任务取消、任务跳过。通知内容支持流水线名称、阶段名称、任务名称、分支/PR/Tag、任务详情。
    输入图片说明
    当Key和Value的值匹配的时候,则自动跳过当前任务,匹配条件:等于、不等于、包含、开始以、结束以、In

    5.6 全局参数

    全局参数支持文本(密文)、单选、多选等类型,作为变量引用
    输入图片说明

    5.7 高级设置

    高级设置支持定时触发流水线以及阻塞构建
    输入图片说明

    5.8 运行流水线

    编辑好流水线源、阶段后,点击运行流水线
    输入图片说明
    输入图片说明
    输入图片说明
    进入流水线详情,查看运行历史和流水线版本,支持使用历史版本再次运行流水线
    输入图片说明
    点击流水线运行记录,查看流水线运行信息与日志,便于快速定位问题并排查
    输入图片说明

    搜索帮助