跳到主要内容

初识 Gitee Go

1. Gitee Go 是什么

Gitee Go 是 Gitee 全新推出的一款 CICD 工具,可提供持续集成、持续交付(部署)能力,帮助企业不断提升应用交付的质量和效率。通过构建自动化、测试自动化、部署自动化,完成从代码提交到应用交付的自动化。通过交付流程度量,发现效率问题,并推荐优化方案。

输入图片说明

2. 产品优势

  • 一站式平台,研发流程全链路追踪

    从 issue 创建,到代码提交入库,最终部署上线等一系列环节串联起来,让工程师工作中必需的编译、测试、部署等流程变得简单高效稳定。并与 PR 门禁、issue 状态流转,有机集合起来,不仅使得研发结果可度量,也使得研发过程可观测。

  • 智能构建

    根据当前任务的多少动态调整资源,解决资源争抢问题。可视化的观测排队中的任务、资源占用情况,动态调整任务优先级,帮助您提升流水线执行速度和效率。当任务挤压时除了迅速扩容,也会根据企业内长期沉淀的流水线构建数据,训练预扩容模型,根据预扩容模型提前扩容,进一步提高流水线执行速度,降低您的等待时间,最快可达秒级执行完毕。

  • 多云管理,一键发布

    实现对多云环境的一站式管理,为您提供全局资源看版,帮助您提高资源使用率、降低维护成本。同时与 Gitee Go 紧密集成,实现对多云资源的统一调配,实现一键发布多云。并可以根据云厂商的不同,实现平滑服务迁移、分级发布、回滚等操作。

3. 应用场景

场景 1:交付流程搭建

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

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

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

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

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

4. 名词解释

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