立即注册 登录
学院实验室
实验室logo,宽:1200,高:200px

持续集成服务——“EasyCI”

2018-11-17 15:09| 梁鹏宇

持续集成服务——“EasyCI”
已结题

项目地址:https://github.com/EasyCI

帮助文档:https://github.com/EasyCI/easy-ci-doc/blob/master/README.md


EasyCI 是什么

  • EasyCI 是一个简易的持续集成服务,帮助软件开发人员快速的实施持续集成,实现编译、测试、打包、发布全流程自动化。

  • EasyCI 的设计目标是通过简单易用的 CI 产品,解放重复性劳动,减少手工的错误和等待时间,通过频繁(一天多次)地集成代码,及时的发现问题、修复问题,加强软件产品迭代,快速持续交付高质量软件。

EasyCI 具备如下核心特性

  • 界面化配置,简单易用

  • 集成能力:Gradle、fir.im、邮件

  • 支持主流 Git 仓库:GitHub

  • 工作流插件:提供官方插件自定义配置

  • 数据统计分析能力:构建数据全掌握,方便项目管理

EasyCI 整体架构

技术选型

  

前端(Angular) + 后端(Java Spring Boot) + 插件(Python)

  • EasyCI 前端通过流行的 Angular 框架实现了一套基于浏览器的单页应用 (SPA - Single Page Application)

  • EasyCI 后端通过基于 Java 平台的轻量级框架 Spring Boot 实现了一套 RESTful 风格的 API

  • EasyCI 插件系统通过 Python 脚本的形式实现

整体架构

EasyCI - 整体架构图

系统工作流程

EasyCI - 系统工作流程

工作流示例

EasyCI - 工作流示例

何以持续

CI系统中的“持续”

有关「CI」及「单元测试」

什么是「 CI 」

Continuous Integration

  • CI (Continuous Integration) —— 也就是「持续集成」

  • 持续集成指的就是,频繁地(一天多次)将代码集成到主干

有关持续集成乃至持续交付、持续部署的介绍,这里引用一篇文章:

The Product Managers’ Guide to Continuous Delivery and DevOps (“持续交付产品经理指南”和DevOps)

何谓「单元测试」

在计算机编程中,单元测试(英语:Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。

通常来说,程序员每修改一次程序就会进行最少一次单元测试,在编写程序的过程中前后很可能要进行多次单元测试,以证实程序达到软件规格书要求的工作目标,没有程序错误;虽然单元测试不是什么必须的,但也不坏,这牵涉到项目管理的政策决定。

每个理想的测试案例独立于其它案例;为测试时隔离模块,经常使用stubs、mock[1]或fake等测试马甲程序。单元测试通常由软件开发人员编写,用于确保他们所写的代码匹配软件需求和遵循开发目标。它的实施方式可以是非常手动的(通过纸笔),或者是做成构建自动化的一部分。

以上有关单元测试的内容摘自:维基百科 - 单元测试

所谓单元测试,是实践持续集成乃至敏捷开发的前提,有关单元测试的话题:这里引用三篇 继承 老师的三篇专栏文章:

聊聊单元测试

聊聊如何写单元测试

聊聊坚持单元测试编写


发表您的评论:

发表评论

最新评论(0)

( 蜀ICP备17031667号-4 )

GMT+8, 2021-1-28 04:31 , Processed in 0.312056 second(s), 14 queries , Gzip On.

Powered by 物联网应用技术创新实验班 Licensed

© 2016-2099

返回顶部 返回版块