跳到主要内容

流水线

概述

在现代 DevOps 实践中,CI/CD 流水线是团队协作和软件交付的核心。传统 CI/CD 工具往往需要复杂的配置和维护,学习曲线陡峭,且难以与应用管理平台深度集成。

Rainbond 流水线是专为 Rainbond 平台设计的 CI/CD 解决方案,它将应用部署、灰度发布、通知等过程自动化,提供可视化的流水线编排能力。通过与 Rainbond 应用模型深度集成,实现从应用模板到生产环境的一键式部署,显著提升团队的交付效率。

功能对比

下表对比了传统 CI/CD 工具与本插件的差异:

维度传统 CI/CD 工具Rainbond 流水线
配置复杂度需要编写复杂的配置文件(如 Jenkinsfile)可视化编排,YAML 元数据可直接复制粘贴
集成复杂度需要手动配置与代码仓库、测试工具、部署平台的集成与 Rainbond 应用模型深度集成,以应用模板为单位部署
部署一致性构建产物与部署环境分离,容易出现环境不一致问题以应用模板为单位部署,确保环境一致性
可移植性配置与环境绑定,难以在不同环境间迁移YAML 元数据可直接复制粘贴到另一个环境使用
效率提升

传统 CI/CD 流程需要 30 分钟以上的手动操作,使用 Rainbond 流水线后可缩短至 5 分钟内完成,效率提升 6 倍以上。

核心能力

多流水线管理

支持创建和管理多个独立的流水线,可视化列表展示所有流水线的名称、描述、创建时间和更新时间,支持搜索和筛选。每个流水线支持执行、编辑、查看执行历史、复制和删除等操作。

流水线列表

阶段与任务编排

每个流水线由多个阶段组成,通过可视化编辑器进行流程设计。从「开始」到「结束」,中间可自由添加阶段,每个阶段支持设置串行或并行执行。

阶段内可添加以下类型的任务:

任务类型说明
部署以应用模板为单位进行部署
灰度发布逐步切流量的金丝雀发布模式
灰度回滚一键回滚到之前的版本
通知支持飞书、钉钉、企业微信等通知渠道
人工审核流程暂停,需人工确认后继续执行

阶段与任务编排

智能触发器

支持多种触发方式,可同时配置多个触发器:

  • 定时触发:按照设定的时间周期自动触发流水线
  • 模版新版本发布:当应用模版发布新版本时自动触发

触发器配置

执行历史与监控

每次流水线执行都会记录完整的过程信息,包括执行标识、触发方式、触发人、执行进度、执行状态和耗时,支持查看详情。

执行历史

点击详情可查看每个阶段和任务的执行状态,右侧实时展示执行日志,支持日志下载。

执行详情与日志

使用指南

启用插件

  1. 进入 平台管理 -> 插件中心,找到「流水线」插件并启用。
  2. 启用后刷新页面,平台管理视图左侧导航栏会出现「流水线」入口。

创建流水线

  1. 点击 流水线 -> 创建流水线
  2. 填写流水线名称和描述。
  3. 点击「保存」完成创建。

编排阶段与任务

  1. 在流水线详情页面,点击阶段之间的 + 号添加新阶段。
  2. 设置阶段名称和执行方式(并行或串行)。
  3. 在阶段卡片内点击 + 添加任务,选择任务类型并配置:
    • 部署任务:选择要部署的应用和应用模板
    • 灰度发布 / 回滚任务:选择要操作的应用和版本
    • 通知任务:配置通知渠道(飞书、钉钉等)和接收人
    • 人工审核任务:配置审核人和审核方式
  4. 点击右上角 保存 保存流水线配置。

配置触发器

  1. 在流水线编辑器中,点击「开始」节点下方的 触发器 按钮。
  2. 选择触发方式:
    • 定时触发:设置执行周期
    • 模版新版本发布:关联应用模版,模版发布新版本时自动触发

执行流水线

手动执行: 在流水线编辑器右上角点击 运行 按钮,选择版本后确认执行。

自动执行: 配置触发器后,流水线将按规则自动执行。

查看执行历史

  1. 在流水线列表中,点击对应流水线的执行历史图标。
  2. 查看每次执行的状态、触发方式、耗时等信息。
  3. 点击「详情」查看阶段执行状态和实时日志。

YAML 元数据

流水线的元数据以 YAML 格式存储,可通过编辑器右上角的 查看 YAML 导出,也可直接复制粘贴到另一个环境使用。

name: 流水线测试
description: ""
stages:
- name: 部署测试
tasklayout: parallel
tasks:
- type: deploy
name: 模版部署
config:
app_name: ceshi
region_name: rainbond
team_id: 4829c9610c54404aad95212144f06eb9
template_id: 3a252bf5ebf24b898cf6690b7cb50759
- name: 通知测试
tasklayout: serial
tasks:
- type: notification
name: 测试通知
config:
channel: lark
content: '{"text":"测试通知"}'
msg_type: text
receive_id:
- ou_620e37f65401f954afff4450b521f469
receive_id_type: open_id
triggers: []

获取企业版

开启企业级能力,免费试用 30 天,无需重新安装集群。体验 GPU 管理、安全审计等高级功能。