Pipeline 插件概述

Pipeline 应用是基于 插件体系 扩展实现的,通过插件化的方式,可以实现对 Rainbond 构建体系的扩展,该应用插件提供了:

  • 编译构建,定义构建步骤
  • 代码检查,基于 SonarQube 的代码检查
  • 生成镜像制品,将构建的镜像制品推送到镜像仓库
  • 部署应用,与 Rainbond OpenAPI 集成,实现应用部署
  • 自动构建/部署,基于 Git 仓库的 Webhook 触发构建

概念

Pipeline 应用插件是基于 GitLab CI/CD 实现,所有的功能都是围绕 GitLab 和 GitLab Runner 进行扩展实现的,下面是一些概念的说明:

应用服务

应用服务是满足用户某些需求的程序代码的集合,可以是某个解耦的微服务或是某个单体应用,应用服务是整个系统最小的实体单位,插件中的集成、部署等功能都是基于应用服务的。

代码管理

支持 GitLab 仓库分支的查看以及持续集成功能。

  • 代码分支管理,支持手动基于分支构建
  • 持续集成,支持查看持续集成的状态以及步骤

镜像仓库

镜像仓库展示应用服务构建后生成的镜像制品,该镜像可直接部署到 Rainbond 平台。

每个镜像版本都支持直接部署到 Rainbond 应用内,并且后续可持续部署。

部署历史

部署历史展示应用服务的部署历史,包括镜像名称、部署时间、执行人、部署详情等信息。

部署详情可跳转到 Rainbond 组件详情页,查看部署的应用服务的详细信息。

流水线管理

流水线是提供自定义流程编排的工具,通过构建,部署,测试,管控等组件化能力,把从开发到交付的各项工作串联起来,从而让企业轻松的实现持续交付。

基于 GitLab CI 实现,提供了多种流水线模版,可以通过模版快速创建流水线。

工作流程介绍

Pipeline 概述 - 图1

  1. 创建应用服务,填写代码仓库地址以及其他信息。

    1.1 同时也需要创建流水线,应用服务需关联流水线。

  2. 创建完应用服务后,会根据该应用服务关联的流水线,创建 gitlab-ci.yml 文件,并推送到该代码仓库的所有分支中。

  3. 提交代码到代码仓库,触发 GitLab CI 的流水线。

  4. 由 Runner 执行流水线中的任务。

  5. 任务执行完成后,将镜像制品推送到镜像仓库。

  6. 镜像制品推送完成后,将镜像制品部署到 Rainbond 应用内。可手动部署,也可自动部署。