主要功能

交付中心提供的流水线任务包括如下类型的子任务。

代码检查

代码检查集成了SonarQube代码质量管理工具,延用了其对代码质量的判断规则。

自动化接口测试

集成Postman插件(一款功能强大的网页调试和发送网页HTTP请求的Chrome插件),通过对HTTP请求的创建和发送,完成对软件API接口请求、响应性能的测试。

编译构建

将代码编译构建为软件包(Jar包、War包、Helm包、容器镜像),支持的构建步骤包括代码检出、构建、镜像构建、镜像上传、制作Helm包、软件包上传、运行Pipeline脚本、运行shell脚本、运行Windows批处理脚本。

自定义类型

自定义类型任务与编译构建任务相似,支持的步骤相同,区别在于自定义类型任务不是以编译构建为目的,还可以使用其中某些步骤来支持流水线任务的顺利运行。例如,在流水线任务中插入执行脚本等。

集成测试

在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行集成测试。

人工审批

发起人工审批流程,审批通过后方可运行下一任务。

软件包流转

编译构建生成的软件包(Jar包、War包、Helm包、容器镜像),可以将其保存到其他PaaS平台。

部署到开发/测试/生产环境

流水线仅支持升级操作,第一次的部署操作需要您首先通过“编译构建”将代码构建为软件包上传至软件仓库,再将软件包部署到应用组中。第一次部署完成后的升级操作均可以通过流水线执行,将再次编辑构建生成的新版本软件包部署到开发环境、测试环境、生产环境,完成环境中软件包的升级,包括滚动升级和灰度升级两种方式。

滚动升级

通过新的服务实例逐个更新来实现零停机的部署升级,即先升级并启动一台新版本,再停止其老版本,使得在整个滚动过程期间,保证始终有可用的副本在运行,从而平滑地发布新版本。优点是节约资源,不需要同时运行两倍的实例个数。缺点是回滚过程困难。

灰度升级

和滚动升级一样,灰度升级也会启动一个并存的新版应用,不同的是灰度升级支持新旧版服务间流量权重的自定义配置,新旧版本可同时对外提供服务,待新版验证完毕即可完成升级或取消升级,可以保证整体系统的稳定和平滑过渡。

运行流水线

选择运行本系统PaaS平台的流水线任务,也可以选择运行其他PaaS平台的流水线任务。