1. 授权认证
  2. 获取用户个人信息
  3. 项目协同
  4. 代码托管
  5. 持续集成
  6. 制品仓库
  7. 测试管理
  1. 项目协同
  2. 代码仓库
  3. DevOps 实践之旅
  4. 一分钟开始持续集成之旅
  5. 持续部署
  6. 制品库

持续集成介绍

持续集成的概念

在软件工程中,持续集成(CI)是指将所有开发者的工作副本每天多次合并到主干的做法。Grady Booch 在 1991 年的 Booch method 中首次命名并提出了 CI 的概念,尽管在当时他并不主张每天多次集成。而 XP(Extreme programming,极限编程)采用了 CI 的概念,并提倡每天不止一次集成。

持续集成在现代软件研发流程中,扮演了十分重要的角色。通过对每次提交的代码进行自动化的单元测试、代码检查、编译构建、契约测试,甚至自动部署,能够大大降低了开发人员的工作负担,减少了许多不必要的重复劳动,持续提升代码质量和开发效率。毫无疑问,持续集成是开发者和研发团队的福音。

当我们提交了一部分修改完成的代码后,我们总是希望可以快速、持续地得到直观且有效的反馈,以达到我们持续快速交付的目的。持续集成也是敏捷开发的好伙伴,因为在平时的工程中,总有一部分工作是相对机械化,易出错的(例如打包、部署),把这部分工作交给机器来做,我们仅需要轻轻地点一下鼠标,起身泡杯咖啡,将部署发布的事情交由持续集成,便能够轻松地完成工作。CODING 持续集成便是专门为此工作流而设计的得力工具。

简而言之:持续集成就是能够采用自动化的手段,解放人的双手,实现项目持续交付的过程。

持续集成的优势

1. 解放了重复性劳动。
自动化部署工作可以解放集成、测试、部署等重复性劳动,而机器集成的频率明显比手工高很多。

2. 更快地修复问题。
持续集成更早的获取变更,更早的进入测试,更早的发现问题,解决问题的成本显著下降。

3. 更快的交付成果。
更早发现错误减少解决错误所需的工作量。集成服务器在构建环节发现错误可以及时通知开发人员修复。集成服务器在部署环节发现错误可以回退到上一版本,服务器始终有一个可用的版本。

4. 减少手工的错误。
在重复性动作上,人容易犯错,而机器犯错的几率几乎为零。

5. 减少了等待时间。
缩短了从开发、集成、测试、部署各个环节的时间,从而也就缩短了中间可以出现的等待时机。持续集成,意味着开发、集成、测试、部署也得以持续。

6. 更高的产品质量。
集成服务器往往提供代码质量检测等功能,对不规范或有错误的地方会进行标致,也可以设置邮件和短信等进行警告。

然而想在项目和团队中实施持续集成,却不是一件简单的事情。CODING 持续集成全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。借由图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。我们的持续集成服务还支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等等。在构建依赖拉取方面,我们对包括 Maven,NPM 在内的主流镜像源有专用网络优化,保证拉取速度,进一步提升构建的速度。

CODING 持续集成功能指引

持续集成的核心组成是构建计划,我们采用卡片化的设计形式进行展示,功能内相关按钮的说明:

将鼠标移至图表上将会悬浮展示该按钮的详细说明。

在构建记录页面中,用户还可以更方便地设置构建计划和筛选构建记录。

在单条构建记录中,可以通过链接快速定位到构建分支和修订版本,在「快速查看」区域,您也可以通过链接查看构建过程、构建快照和改动记录。

构建计划

构建计划(Job)是持续集成的基本单元,您可以在在构建计划中详细配置构建计划的代码源、构建流程、触发规则、环境变量、通知提醒等信息。在后续使用过程当中,按照既定的规则触发该计划,从而实现自动化的流水线构建。

构建任务

构建计划在配置完成后,每一次构建执行,都产生一个具体的构建任务。您可以查看每个构建任务的构建过程、改动记录、测试报告、构建产物、构建快照等执行信息。

Jenkinsfile

Jenkinsfile 定义了持续集成中的工作流水线(pipeline),其不仅实现了对步骤的流式化封装和管理,也是持续集成中的基本功能单位。流水线可以顺序执行,也可以并行执行。

最近更新
感谢反馈有用
感谢反馈没用