tencent cloud

CODING 持续集成
云端代码构建服务,支持 Java、Python 等主流语言
简介

CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。在构建依赖拉取方面,对于包括 Maven、NPM 在内的主流镜像源有专用网络优化,保证拉取速度,进一步提升构建的速度。

特性
图形化编排
除了手工编辑构建脚本以外,CODING 持续集成还有完善的图形化编排能力,以降低使用门槛。针对构建的每一个步骤提供丰富的构建脚本模板供用户选择,实现了边写边看、所见即所得的直观编辑体验。
全面的构建类型
除了支持 Docker 镜像构建,也支持 Jar、APK 等软件包的构建,并且预置了大量的构建环境镜像,例如 Java、Python、NodeJS 等。
多 Job 并行构建
支持单项目并行构建,以满足重度持续集成用户的需求。后端的服务器集群可以根据用户的需求实施调度响应的计算资源,保证用户的构建任务快速开始,减少排队时间。
缓存加速
持续集成构建过程中次会用大量的时间重复下载依赖文件,致使构建时间过长,CODING 持续集成支持在不同的构建任务之间支持开启缓存,以提高反复构建的速度。开启缓存功能可以平均提高 300% 的构建速度。
全面兼容
Jenkins 是全世界使用最广泛的持续集成工具,CODING 持续集成的构建脚本在语法上全面兼容 Jenkins。用户可以无缝迁移 Jenkins 的构建到 CODING。
灵活的构建资源
提供云主机作为构建资源,也支持接入自定义构建节点。基于云主机,用户可以直接执行构建计划,免去运维困扰。基于自定义构建节点,用户可在 Linux、macOS 和 Windows 的虚拟机执行构建,也可在容器中执行构建。
功能

CODING 持续集成提供了多种特性,通过自动化的手段,用于提升用户项目研发的效率,解放重复性劳动,更快的交付成果。


自动化构建

- 提供服务化的构建方式,可按需提供接口或用户界面;

- 支持Maven方式构建、Gradle方式构建、Makefile 方式构建等;可定期自动执行构建和代码提交触发构建。


图形化编辑器

除了手工编辑构建脚本以外,CODING 持续集成还有完善的图形化编辑能力,以降低使用门槛。针对构建的每一个步骤提供丰富的构建脚本模板供用户选择。


- 图形化编辑器预设了大量常用的步骤,操作方便,图形化编辑器可以 100% 转换成文本编辑器的视图,即在图形化编辑器上增删的所有步骤都可以转换成代码文本。

- 可视化视图,同时也兼容绝大部分自定义操作,实现了边写边看、所见即所得的直观编辑体验。


全面兼容 Jenkins

- Jenkins 是全世界使用最广泛的持续集成工具,CODING 持续集成的构建脚本在语法上全面兼容 Jenkins。用户可以无缝迁移 Jenkins 的构建到 CODING。

- Jenkinsfile 是配置持续集成所用的脚本,即意味着给 Jenkins 写脚本。每一次的目标代码变动都会触发 CODING 持续集成,按照 Jenkinsfile 里的流水线自动化执行一次。


预装的构建环境

CODING 持续集成提供全面的预装构建环境,提供的多种编程语言的编译构建服务,用于支持用户在不同的项目类型所使用,用户可直接通过预装的构建环境镜像,进行项目的构建。


- 支持多种编译语言:为开发者提供多种编程语言的编译构建服务,目前支持以下编译语言:Java、PHP、Python、Go、Ruby 等。

- 丰富的命令行工具:CODING 持续集成除了支持 Docker 镜像构建,也支持 maven,gradle 等软件包的构建(待优化,对已支持的命令行工具文案优化)。


多 Job 并行构建

- 支持单项目并行构建,可以支持20个 Job 同时,以满足重度持续集成用户的需求。

- 后端的服务器集群可以根据用户的需求实施调度响应的计算资源,保证用户的构建任务快速开始,减少排队时间。


缓存加速

CODING 持续集成支持在不同的构建任务之间支持开启缓存,以提高反复构建的速度。开启缓存功能可以平均提高 300% 的构建速度。


触发规则

灵活的触发规则:CODING 持续集成的触发规则可以根据代码更新时触发、手动触发和合并请求触发。实现多种触发任务执行的方式。

应用场景
CODING 持续集成可以用于自动构建代码,在用户自定义的构建环境和构建脚本指令下,基于云端的强大计算能力和网络快速把源代码构建为可运行的目标产物,并存放入构建版本仓库。
适用于辅助代码评审,代码评审工作繁杂而又重要,应用持续集成能力可以在所有评审工作之前进行全自动的构建、自动化测试、风格检查、质量扫描、安全评估等前置工作,为后续的评审工作大大减负。
DevOps 要求软件交付流程的高度自动化,其中自动化测试工作尤为重要,持续集成可参与项目发布、代码评审、项目验收等环节的自动化测试,为交付流程提高效率。
客户案例
复旦大学
FOXCONN
嘀嗒出行
ZEGO 即构
墨刀
CMGE 中手游
C-life
更美
交银施罗德
明略科技
上上签
拉卡拉
常见问题

什么是持续集成?

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


如何查看构建持续集成的结果?

任务触发构建后会产生一条构建记录,构建记录详情可以查看流水线上每一个阶段的成功与否,每一个步骤命令具体的执行效果和日志。


怎样产生构建物?

可以在图形化编辑器的阶段里添加收集构建物步骤,输入需要收集文件的路径,并将被展示在构建过程的构建产物中。


如何构建持续集成?

CODING 持续集成基于 Jenkins 提供服务和能力,并做了大量优化工作。Jenkinsfile 定义了持续集成中的工作流水线(pipeline),其实现对步骤的流式化封装和管理。流水线可以顺序执行,也可以并行执行。每一次的目标代码变动都会触发「CODING 持续集成」按照 Jenkinsfile 里的流水线自动化执行一次。

通过创建持续集成任务,选择持续集成过程模板并配置持续集成过程,即可开始构建。详细操作请查看 持续集成产品文档。