CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。在构建依赖拉取方面,对于包括 Maven、NPM 在内的主流镜像源有专用网络优化,保证拉取速度,进一步提升构建的速度。
CODING 持续集成提供了多种特性,通过自动化的手段,用于提升用户项目研发的效率,解放重复性劳动,更快的交付成果。
- 提供服务化的构建方式,可按需提供接口或用户界面;
- 支持Maven方式构建、Gradle方式构建、Makefile 方式构建等;可定期自动执行构建和代码提交触发构建。
除了手工编辑构建脚本以外,CODING 持续集成还有完善的图形化编辑能力,以降低使用门槛。针对构建的每一个步骤提供丰富的构建脚本模板供用户选择。
- 图形化编辑器预设了大量常用的步骤,操作方便,图形化编辑器可以 100% 转换成文本编辑器的视图,即在图形化编辑器上增删的所有步骤都可以转换成代码文本。
- 可视化视图,同时也兼容绝大部分自定义操作,实现了边写边看、所见即所得的直观编辑体验。
- Jenkins 是全世界使用最广泛的持续集成工具,CODING 持续集成的构建脚本在语法上全面兼容 Jenkins。用户可以无缝迁移 Jenkins 的构建到 CODING。
- Jenkinsfile 是配置持续集成所用的脚本,即意味着给 Jenkins 写脚本。每一次的目标代码变动都会触发 CODING 持续集成,按照 Jenkinsfile 里的流水线自动化执行一次。
CODING 持续集成提供全面的预装构建环境,提供的多种编程语言的编译构建服务,用于支持用户在不同的项目类型所使用,用户可直接通过预装的构建环境镜像,进行项目的构建。
- 支持多种编译语言:为开发者提供多种编程语言的编译构建服务,目前支持以下编译语言:Java、PHP、Python、Go、Ruby 等。
- 丰富的命令行工具:CODING 持续集成除了支持 Docker 镜像构建,也支持 maven,gradle 等软件包的构建(待优化,对已支持的命令行工具文案优化)。
- 支持单项目并行构建,可以支持20个 Job 同时,以满足重度持续集成用户的需求。
- 后端的服务器集群可以根据用户的需求实施调度响应的计算资源,保证用户的构建任务快速开始,减少排队时间。
CODING 持续集成支持在不同的构建任务之间支持开启缓存,以提高反复构建的速度。开启缓存功能可以平均提高 300% 的构建速度。
灵活的触发规则:CODING 持续集成的触发规则可以根据代码更新时触发、手动触发和合并请求触发。实现多种触发任务执行的方式。
在软件工程中,持续集成(CI)是指将所有开发者的工作副本每天多次合并到主干的做法。Grady Booch 在1991年的 Booch method 中首次命名并提出了 CI 的概念,尽管在当时他并不主张每天多次集成。而 XP(Extreme programming,极限编程)采用了 CI 的概念,并提倡每天不止一次集成。
任务触发构建后会产生一条构建记录,构建记录详情可以查看流水线上每一个阶段的成功与否,每一个步骤命令具体的执行效果和日志。
可以在图形化编辑器的阶段里添加收集构建物步骤,输入需要收集文件的路径,并将被展示在构建过程的构建产物中。
CODING 持续集成基于 Jenkins 提供服务和能力,并做了大量优化工作。Jenkinsfile 定义了持续集成中的工作流水线(pipeline),其实现对步骤的流式化封装和管理。流水线可以顺序执行,也可以并行执行。每一次的目标代码变动都会触发「CODING 持续集成」按照 Jenkinsfile 里的流水线自动化执行一次。
通过创建持续集成任务,选择持续集成过程模板并配置持续集成过程,即可开始构建。详细操作请查看 持续集成产品文档。