Pipeline Plug-in overview
Pipeline 应用是基于 插件体系 扩展实现的,通过插件化的方式,可以实现对 Rainbond 构建体系的扩展,该应用插件提供了:
- 编译构建,定义构建步骤
- 代码检查,基于 SonarQube 的代码检查
- 生成镜像制品,将构建的镜像制品推送到镜像仓库
- 部署应用,与 Rainbond OpenAPI 集成,实现应用部署
- 自动构建/部署,基于 Git 仓库的 Webhook 触发构建
概念
Pipeline 应用插件是基于 GitLab CI/CD 实现,所有的功能都是围绕 GitLab 和 GitLab Runner 进行扩展实现的,下面是一些概念的说明:
应用服务
应用服务是满足用户某些需求的程序代码的集合,可以是某个解耦的微服务或是某个单体应用,应用服务是整个系统最小的实体单位,插件中的集成、部署等功能都是基于应用服务的。
代码管理
支持 GitLab 仓库分支的查看以及持续集成功能。
- 代码分支管理,支持手动基于分支构建
- 持续集成,支持查看持续集成的状态以及步骤
镜像仓库
镜像仓库展示应用服务构建后生成的镜像制品,该镜像可直接部署到 Rainbond 平台。
每个镜像版本都支持直接部署到 Rainbond 应用内,并且后续可持续部署。
部署历史
部署历史展示应用服务的部署历史,包括镜像名称、部署时间、执行人、部署详情等信息。
部署详情可跳转到 Rainbond 组件详情页,查看部署的应用服务的详细信息。
流水线管理
流水线是提供自定义流程编排的工具,通过构建,部署,测试,管控等组件化能力,把从开发到交付的各项工作串联起来,从而让企业轻松的实现持续交付。
基于 GitLab CI 实现,提供了多种流水线模版,可以通过模版快速创建流水线。
工作流程介绍
创建应用服务,填写代码仓库地址以及其他信息。
1.1 同时也需要创建流水线,应用服务需关联流水线。
创建完应用服务后,会根据该应用服务关联的流水线,创建
gitlab-ci.yml
文件,并推送到该代码仓库的所有分支中。提交代码到代码仓库,触发 GitLab CI 的流水线。
由 Runner 执行流水线中的任务。
任务执行完成后,将镜像制品推送到镜像仓库。
镜像制品推送完成后,将镜像制品部署到 Rainbond 应用内。可手动部署,也可自动部署。