对接规范

一、编写目的

方便用户快速了解和使用CICD管理系统,节省人工辅导成本。

二、适用范围

1、锐明

备注:内部文档,禁止外传

三、产品介绍

3.1、名词解释

序号概要名词说明
1CICD管理系统面向研发、测试、运维等不同角色的综合平台,整合软件开发、测试和部署各阶段的繁琐流程。通过可视化、配置化、一键化操作,实现DevOps持续交付,提高研发效率、降低成本,并支持云环境与客户私有化部署,尽量减少人工干预。
2私有化运维交付系统
针对运维及前线技术支持/专家设计,按环境维度管理客户局点。该系统从 CICD管理系统 获取发布后的中间件或业务组件包,支持安装、升级、变量同步等运维操作,确保产品部署后达到就绪状态
3客户交付系统
集中管理所有客户的部署模型信息,对接开发内部的统一网关和用户中心,与运营平台打通。同时联动 私有化运维交付系统,实现从部署模型配置到日常运维的全流程一站式管理
4OMS
为「Operation and Maintenance System」的缩写, 专职负责部署工作.
OMS = OMS Server + OMSlet
5CDS
为「Customer Delivery System」的缩写, 客户交付系统系统
6cicd-web
CICD管理系统 的前端组件,负责展示及交互。
7cicd-server
CICD管理系统 的后端组件,通过HTTP接口为 cicd-web 提供服务,主要负责基础信息管理,采用Java开发。
8oms-server
CICD管理系统私有化运维交付系统 共用。它提供HTTP接口,负责运维部署动作的编排与执行,上游对接 cicd-server 和 custom-server,采用Python开发。
9oms-let
安装在目标机上的轻量级代理,封装Shell脚本、加固系统配置,并负责部分常用软件包的安装。通过HTTP接口接收OMS Server下发的命令,采用Shell脚本开发。
10host-baseline
安装在目标机上, 提供系统级文件, 尽可能屏蔽系统差异. 无运行态, 开发语言: Shell.
11cicd-document-web
CICD管理系统 的帮助文档, 属于前端组件。
12jenkins
专用于 CICD管理系统, 利用其Pipeline Job承接流水线的sonar扫描、编译构建、组装包、发版及代码覆盖率等任务.
13COS
CICD管理系统 中的物料库,使用腾讯云的cos对象存储,统一存放组件包,项目版本包,流水线集成包,证书文件等'.

3.2、解决方案总览

3.2.1、逻辑视图

CICD管理系统 由5个逻辑组件组成,如下:

  1. CICD管理系统: 有单独的web管理界面配套, 云环境下的操作入口。

  2. Jenkins: 负责实际的流水线执行, 输出物料(即包文件)。

  3. 物料库: 统一存放物料(一般为构建好的包文件)。

  4. OMS Server: 运维管理系统的服务端, 单独剥离运行以兼容云环境&客户私有化环境的部署。

  5. Machine XXX: 具体部署业务组件的机器节点, 与OMS Server配套使用。

各逻辑组件的关系如图:

逻辑视图

3.2.2、部署视图

部署视图

3.3、CICD管理系统(单品)介绍

CICD管理系统(单品)作为整个解决方案系统门户,提供可视化、可编排的CI/CD持续交付软件生产线,实现DevOps持续交付高效自动化,缩短应用开发到市场交付周期,提升研发效率。

流水线服务本质上是一个可视化的自动化任务调度平台,需要配合服务器中编译构建、代码检查、测试、部署等服务的自动化任务使用。根据需要的场景,如开发测试环境应用部署、生产环境应用部署等,对这些自动化任务进行自定义编排,一次配置后就可以一键自动化触发调度执行,避免频繁低效的手工操作。

3.3.1、业务流程图

业务流程图

四、平台对接规范

4.1、研发过程规范

CICD之研发过程规范

4.2、分支与版本规范

云平台研发部git分支与标签命名规范-V1.0

4.3、Nacos配置规范

CICD之nacos配置规范

4.4、SQL管理规范

CICD之SQL管理规范

4.5、运维脚本管理规范

平台部署脚本规划与设计

4.6、静态配置文件管理规范

静态文件更新操作规范

4.7、CICD操作规范

CICD之操作规范

待补充建设

1.CICD需求管理规范

2.CICD组件管理规范

3.CICD项目管理规范

4.CICD 流水线管理规范

5.运维线上操作规范

6.部署升级规范

7.CICD函数及变量规范