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


CICD管理系统(单品)作为整个解决方案系统门户,提供可视化、可编排的CI/CD持续交付软件生产线,实现DevOps持续交付高效自动化,缩短应用开发到市场交付周期,提升研发效率。
流水线服务本质上是一个可视化的自动化任务调度平台,需要配合服务器中编译构建、代码检查、测试、部署等服务的自动化任务使用。根据需要的场景,如开发测试环境应用部署、生产环境应用部署等,对这些自动化任务进行自定义编排,一次配置后就可以一键自动化触发调度执行,避免频繁低效的手工操作。

不同项目接入CICD管理系统,一般都需要先根据CICD解决方案规范进行相应的组件改造,对接时开发人员可参考文档:对接规范
打开Web浏览器,输入网址 http://cicd.streamax.com:20605/ 后,支持 密码登录 与 钉钉扫码登录 两种方式
密码登录

说明:
钉钉扫码登录

说明:
对于钉钉扫码登录新用户
- 默认未设置密码, 需要登录后由操作者自行去个人中心设置密码, 设置密码后, 同一账号即可支持
密码登录。- 角色默认为
游客, 若需要更改角色(如更换为开发、测试等), 需要联系CICD当月支持人做修改。- 账号未归属团队, 若需要分派团队, 请联系对应团队负责人参考4.2.1章节关联团队。
登录成功之后,默认进入主页。页面左边区域为一级菜单,鼠标点击一级菜单,拥有二级菜单的一级菜单会对应展开。

鼠标悬浮至右上角的用户姓名后会展开个人中心,点击【退出登录】按钮即可退至登录界面。

团队研发负责人 登录系统后,进入 系统管理->团队管理 页面,选择本团队,点击操作栏对应的编辑团队按钮,可以维护本团队的开发、测试、运维人员。

说明:
- 团队成员才能维护本团队的环境、版本、流水线信息等。
团队研发负责人 登录系统后,进入 版本管理->组件管理->业务组件页面,选择本团队,点击【添加组件】按钮,输入组件信息后,点击【保存】按钮即可添加组件。

说明:
- 添加组件的名称 必须 与代码打出来的组件包名一致;
- 所有团队的组件名称 不可重复。
添加组件后,点击操作栏查看版本按钮,可以直接跳转到对应的组件版本列表。

用户登录系统后,进入 版本管理->组件管理->中间件 页面,可查看CICD管理系统当前支持的中间件列表,点击操作栏查看版本按钮,可以直接跳转到对应的中间件版本列表。

说明:
- 目前中间件 && 中间件版本信息均由
CICD团队成员人工维护。
团队研发负责人 登录系统后,在 版本管理->项目管理 页面,选择本团队,点击【添加项目】按钮,输入项目信息后,点击【保存】按钮即可添加项目。

说明:
- 项目名称 不可重复;
- 项目名称须 与RDMS保持一致(便于后续版本与RDMS进行数据同步)。
团队研发负责人登录系统后,在“版本管理-组件管理-业务组件”页面,选择本团队,点击【添加组件】按钮,录入团队的组件信息后,点击【保存】按钮即可添加组件。

项目版本的开发负责人登录系统后,在“版本管理-组件版本管理-业务组件”页面,选择本团队组件,点击【添加组件版本】按钮,根据《CICD-项目版本发布清单Checklist.xlsx》文档录入组件版本信息后,点击【保存】按钮即可添加组件版本。

说明:
- 添加的组件版本号 必须 与代码打出来的组件版本号一致;
- 同一个组件版本号不可重复;
- 添加组件版本时,若该组件版本存在依赖组件,那么在运行环境流水线时,在依赖组件流水线运行完成后才会触发该组件流水线运行。
用户登录系统后,进入版本管理->组件版本管理->中间件页面,可查看CICD管理系统当前支持的中间件版本列表。

说明:
- 目前中间件版本信息由CICD团队成员人工导入数据;
- 目前仅CICD团队人员/运维人员有中间件版本打包、发布的操作权限;
- 版本状态为已发布/打包完成的中间件版本可以用于中间件环境的配置及部署,中间件环境配置页面会自动过滤打包失败/打包中状态的中间件版本。
项目版本的开发负责人登录系统后,在版本管理->项目版本管理页面,选择本团队项目,点击【添加项目版本】按钮,点击【保存】按钮即可添加项目版本。

说明:
- 同项目版本号不可重复
步骤一:进入版本管理->项目版本管理列表页面,点击 “软件版本号” 进入项目版本详情页面。

步骤二:切换到组件管理页面,点击 “关联组件” 按钮,进行关联组件操作。

步骤三:录入项目版本关联的组件信息后,点击 “保存并返回” 按钮即可保存项目关联组件。

步骤一:团队研发负责人登录系统后,进入“流水线管理-流水线”,选择团队-项目后,运行包含DEV/SIT/UAT环境的该项目版本的最外层流水线(该流水线主要是确保SIT/UAT环境集成包能与DEV环境保持一致,不会出现人为的配置错误问题)。

步骤二:团队研发负责人进入“版本管理-项目版本管理”页面,选择需要发布的项目版本记录,点击“发布”按钮。


步骤一:进入版本管理->项目版本管理列表页面,点击 “软件版本号” 进入项目版本详情页面。

步骤二:切换到组件管理页面,点击 “组件后移” 按钮,进行组件后移操作。

步骤三:录入新的项目版本号,以及组件版本号之后,点击"保存"按钮,会自动创建与该版本相同的组件,并自动绑定关联关系。

说明:
- 组件版本若已存在, 则不会创建新的组件版本,只会绑定新的项目与组件的关联关系
- 组件版本若不存在, 则会新创建组件版本,并绑定组件与项目的关联关系
- 建立组件版本后,不会创建分支,需要由研发同学自己拉取分支
- 组件与项目关联关系建立错误,需要在界面上手动删除
步骤一:进入版本管理->项目版本管理列表页面,点击 “下载” 弹出下载界面。

步骤二:点击 "SQL导出" 按钮。

步骤三:选择需要导出的起始版本号,点击 “确定” 导出SQL。

说明:
- 选择的版本SQL不会被导出。此处设定为导出的升级SQL合并,起始版本认为已经部署,所以不导出
- 导出规则,根据版本发布顺序与P版本顺序导出。
在“环境管理-主机管理”页面,选择本团队主机组后,点击【添加主机】按钮,录入主机信息后,点击【保存】按钮即可添加主机。

说明:
- 导入主机步骤类似,主机导入模板如下:主机导入模板.xlsx
- 若主机类型为物理机/超融合,需要正确配置IP所属的“地域”信息
- 若主机需要安装MinIO, 视其部署模式按需申请专用的数据盘.
添加/导入主机后,点击“免密配置”按钮,输入主机的ssh登录信息,点击“保存”,系统会自动进行免密配置。

团队开发/测试/运维人员登录系统后,进入“环境管理-变量模板管理”页面,选择本团队,点击【添加模板】按钮,输入模板名称后保存即可。

团队开发/测试/运维人员登录系统后,进入“环境管理-变量模板管理”页面,选择本团队,选择模板,点击删除图标,确认删除后即可删除该模板下的所有环境变量。

团队开发/测试/运维人员登录系统后,进入“环境管理-变量模板管理”页面,选择团队-标签后,点击“添加环境变量”按钮,录入模板变量信息。

说明:
- 各团队开发各自维护所属团队的变量模板。团队开发/测试/运维人员按需使用。
- 根据4.9.2.4章节业务环境配置环境变量时,可选择通过
模板导入方式按需使用该处配置的变量模板。- 推荐使用通过
模板导入方式为业务环境配置环境变量。

说明:
- 一个中间件环境可以被多个业务环境使用。
一般由团队运维人员登录系统后,在“环境管理-环境管理”页面,切换到“中间件环境”的Tab页,选择对应的环境级别后,点击【添加环境】按钮,输入环境信息后点击【保存】。

点击对应环境记录的操作栏【关联主机】按钮,对所选中间件环境进行关联主机操作。

点击对应环境记录的操作栏【中间件环境初始化】按钮,跳转到环境初始化页面,点击【中间件配置】按钮,选择需要的中间件名称、中间件类型、部署主机后,点击【保存】按钮即可添加中间件配置。

说明:
- 使用CICD管理系统配置OCI时,上传的config.ini文件中的pem文件路径需要提前修改为
/iotp/cloud\_config/oci/$\{pem文件名称\},如下:
方案一:配置完成后,点击【一键安装】,系统会自动根据中间件间依赖关系依次安装环境关联的各个中间件。

方案二:根据依赖关系依次安装中间件(比如:nacos依赖数据库,就需要先安装数据库,再安装nacos)。

说明:
- 目前中间件安装没有显示进度,点击【一键安装】或【安装】按钮,需稍等几分钟后刷新查看中间件安装状态,或点击【查看日志】了解中间件安装进度:
- “-”——未安装;
- “未运行”——全部安装成功,运行失败;
- “运行中”——全部安装运行成功;
- “部分运行”——部分安装运行成功,点击“查看明细”可查看主机列表及对应状态。
- 目前【查看日志】页面仅显示最近一次操作记录的日志信息。
返回中间件环境列表,启用中间件环境。

团队开发/测试/运维人员登录系统后,进入“环境管理-环境管理-业务环境”页面,选择本团队后,点击【添加环境】按钮,输入环境信息后,点击【保存】按钮即可添加业务环境。

说明:
- 业务环境列表默认加载DEV环境、SIT环境、UAT环境 三个初始化环境,初始化的环境不可删除;
- 初始化环境,中间件环境、负责人默认为空,且环境级别不可编辑。因此使用系统初始化环境时需要先点击编辑环境信息,关联中间件环境、负责人,如下:

在“环境管理-环境管理”页面,选择团队,点击环境名称进入环境详情页面后,点击【关联主机】按钮,即可进行关联主机操作。


说明:
- 不同团队,可关联相同的主机;
- 相同团队,不同环境不能关联同一个主机。
在“环境管理-环境管理”页面,选择团队,点击环境名称进入环境详情页面后,选择对应主机,点击操作栏【】按钮后,可进行关联组件操作。


目前支持3种方式添加环境变量:模板导入(推荐)、手动添加、导入环境变量。
1、模板导入: 环境详情 -> 环境变量 -> 添加环境变量 -> 模板导入
来源:
变量模板管理
2、手动添加: 环境详情 -> 环境变量 -> 添加环境变量
来源:
手动录入
3、导入环境变量: 环境详情 -> 环境变量 -> 导入环境变量
来源:
环境详情 -> 环境变量 -> 导入环境变量 -> 下载模板
环境详情 -> 环境变量 -> 导出环境变量
变量模板管理 -> 导出配置文件
步骤一:点击对应环境记录的操作栏【中间件环境初始化】按钮,跳转到环境初始化页面。

步骤二:卸载对应中间件后,删除中间件配置记录(卸载mariadb、nacos、clickhouse-server等会同时删除数据,若需要保留数据请提前进行数据备份,谨慎操作!)。

步骤三:点击“中间件配置”按钮,配置对应需要升级/降级的中间件版本后,重新安装中间件,即可完成中间件版本升级/降级(数据还原需要人工操作)。

在“环境管理-环境管理”页面,选择团队,点击需要升级版本的业务环境名称进入环境详情页面后,选择主机后,点击关联组件/批量关联组件按钮,重新选择项目版本信息,配置主机、组件关联关系后保存。

参考4.12章节,进入“环境管理-集群管理”模块,选择卸载该环境对应主机上的组件后,修改环境的主机组件关联关系,剔除主机上卸载了的组件,即完成业务环境缩容。
需求目的:提升研发搭建环境效率。
复制规则
环境复制
注:外部域名、多域名证书、流水线不同环境无法复用,不进行复制 。
中间件环境主机信息复制
注:minio、grafana-agent、云中间件不同环境无法复用,不进行复制。
部署版本信息复制
注:当复制的目标项目版本出现组件增加或减少时,复制的新环境不会绑定新增组件、删除组件,可在复制完成后,通过环境管理-关联组件功能调整部署模型
使用方法
进入环境管理,选择业务环境,找一个适用的环境,点击 “环境复制” 按钮,如下图所示:

填写IP , 此处填写新环境的IP即可, 支持使用其他环境的中间件,如下图所示:

复制成功后,根据提示,跳转到中间件环境,进行中间件安装,如下图所示:

本模块主要作用为配置网络信息,包含外部IP、南北向IP、Nginx配置、域名证书。
团队开发/测试/运维人员登录系统后,进入“环境管理”模块,选择指定业务环境,进入“业务环境详情-网络配置-外部IP/域名”页面,点击按钮【添加外部IP/域名】添加外部IP/域名,如下图所示:

团队开发/测试/运维人员登录系统后,进入“环境管理”模块,选择指定业务环境,进入“业务环境详情-网络配置-南/北向IP”页面,点击按钮【添加南/北向IP】添加南/北向IP,如下图所示:

*说明:
南向与北向IP选项来源:外部IP、服务域名。
适用组件:本条配置生效的组件范围。
当nacos配置上面,带IP的实例配置文件已经存在时,会跳过更新该nacos配置。
作用于"south_ip()" 、 "north_ip()" 变量。
团队开发/测试/运维人员登录系统后,进入“环境管理”模块,选择指定业务环境后,进入“业务环境详情-网络配置-域名证书”页面, 即可配置默认域名与多域名。
(1) 一个环境内只能配置1条。
(2) nacos上面证书配置更新与否,取决于env_cert()函数的使用与否。
(3) 证书文件推送固定推送至目标机器目录:/iotp/network/nginx/ 下, 如果目标机器上没部署使用env_cert()函数的组件也一样会推送。
(4) 该处的域名字段将作为南北向IP的南向与北向选项来源。
(5) 业务组件部署时,该处的证书配置也会自动生效, 并且证书文件也会覆盖掉目标机器上的。
(6)nacos配置更新后,不仅对应的组件会重启,同时依赖这些组件的依赖组件也会自动重启。
团队开发/测试/运维人员登录系统后,进入“环境管理”模块,选择指定业务环境,进入“业务环境详情-网络配置-域名证书”页面,点击按钮【添加域名证书】添加域名证书,如下图所示:

说明:
(1) 一个环境内可配置多条多域名证书。
(2) 域名证书选项值来源为“外部IP/域名”模块添加的域名记录。
(3) 运行流水线后证书推送至目标机器目录:/iotp/network/nginx/${域名名称}/下。
(4) 如果服务域名和应用域名使用同一套证书,也需要分别配置服务域名和应用域名
步骤一:团队开发/测试/运维人员登录系统后,进入“环境管理”模块,选择指定业务环境,进入“业务环境详情-网络配置-Nginx配置”页面, 点击按钮【添加Nginx文件】即可进行Nginx配置,如下图所示:

步骤二:点击【添加NGINX文件】后,需选择生成好的nginx配置文件进行上传,以及选择要推送的主机后进行保存,如下图所示:

步骤三:如要修改Nginx配置内容,可点击文件名称,打开编辑页面进行在线编辑,如下图所示:

步骤四:Nginx配置添加完成后,选择需要进行推送的配置记录并点击【推送到主机】,系统会将对应的文件同步到对应的目标机的/etc/nginx/conf.d目录下,同时可点击【查看日志】按钮查看推送日志详情:

说明:
1.Nginx配置文件需提前准备,CICD仅做文件的推送。推送后cicd会调用 nginx -t ng.conf 进行语法校验。
2.推送的主机范围是添加Nginx配置时选择的主机,未被nginx配置关联的主机不受影响。
团队研发负责人登录系统后,进入“流水线管理-流水线”页面,选择团队-项目,点击【添加流水线】按钮后,依次输入流水线基本信息、选择流水线模板后,点击【保存】按钮即可添加流水线。

说明:
- 目前仅研发负责人及开发人员有权限添加、编辑、删除、复制流水线权限,测试人员只有本团队运行、查看流水线权限。
- 建议发布流水线创建时需包含DEV-SIT-UAT环境,研发、测试、运维人员可以运行登录账号权限范围内的环境流水线、组件流水线(目前各环节是独立运行的);
- 同一条流水线DEV-SIT-UAT环境对应关联的项目版本及组件版本必须一致,否则无法添加成功(不同环境的部署模型可以不一致,例如:DEV/SIT是单机环境,UAT是集群环境)。
- 流水线"是否用于发版"(V1.2.0新增), 该选项与最终发版强相关,若选择“不发版” 在最后发版流水线时,会无法选中。 通过“流水线编辑”可调整该属性。
场景一:同版本迭代升级,且没有组件信息变更
直接再次运行原流水线,即可升级该业务环境上的组件版本。
场景二:同版本迭代升级,有组件信息变更
根据4.9.4章节先修改业务环境信息,然后重新选择原运行环境添加新的流水线,运行新添加的流水线升级该业务环境上的组件版本。
场景三:相邻版本迭代升级
根据4.9.4章节先修改业务环境的主机关联组件配置(低版本->高版本/高版本->低版本),然后重新选择原运行环境添加新的流水线后,再运行新添加的流水线升级业务环境上的组件版本
说明:
- 同版本迭代升级指流水线对应的组件版本代码可以持续更新,直到发布;
- 同版本迭代升级时,若存在SQL变更,需要人工介入进行手动操作;
- 运行流水线升级业务环境时,若存在减少组件,需要先在“环境管理-集群管理”模块卸载该环境上的组件后,才能剔除主机-组件关联关系;
- 运行流水线升级业务环境时,若存在增加组件,默认会进行全新安装操作;
步骤一:团队开发/测试/运维人员登录系统后,进入在“流水线管理-流水线”页面,选择团队-项目后,点击指定流水线名称,进入环境流水线列表。

步骤二:在环境流水线列表,开发、测试、运维人员可运行对应环境级别的环境流水线/组件流水线。

说明:
- 流水线运行成功后,可以参考4.10.4章节修改Nginx配置。
步骤三:在流水线运行弹窗中,开发、测试、运维人员可选择附加服务以及选择C++覆盖率策略(仅C++组件可选策略),并点击运行。

步骤四:在DEV环境流水线或DEV环境下的组件流水线运行弹窗中,开发人员可勾选附加服务-提取词条,并点击运行。


说明:
- 开启词条提取的H5、Java组件构建时会将当前组件的所有环境变量存储到组件构建的根目录下的cicd_term.ini文件中,并在构建脚本调用时传输词条开启参数。
- 仅DEV环境支持词条提取功能,其他环境不支持。
- 若组件自身构建脚本未改造适配,则开启提取词条策略也不会生效(适配请找@胡瑞)。
运行流水线后,团队开发/测试/运维人员点击指定流水线最近运行次数,进入环境流水线最近运行详情页面。

进入环境流水线运行详情页面后,点击组件名称可跳转到对应环境组件的组件流水线运行详情页面。

运行流水线后,团队开发/测试/运维人员点击指定流水线最近运行次数,进入环境流水线最近运行详情页面后,可以切换到“运行历史”Tab页面。

运行流水线后,团队开发/测试/运维人员点击指定流水线最近运行次数,进入环境流水线最近运行详情页面后,可以切换到“部署历史”Tab页面。

运行流水线后,团队开发/测试/运维人员点击指定流水线最近运行次数,进入环境流水线最近运行详情页面后,可以切换到“部署历史”Tab页面,点击部署记录,可以跳转到部署详情页面查看环境流水线部署单、部署日志。

运行流水线后,团队开发/测试/运维人员点击指定流水线最近运行次数,进入环境流水线最近运行详情页面后,可以切换到“部署历史”Tab页面
步骤一:针对JAVA组件,需要在流水线关联的业务环境-环境变量信息中添加如下环境变量,开启JAVA代码覆盖率开关

针对C++组件,在运行包含C++组件的环境流水线或者C++组件流水线时,需要选择开启C++代码覆盖率。

步骤二:点击生成覆盖率按钮后,会弹出可生成覆盖率的组件列表,团队开发/测试/运维人员可按需选择生成覆盖率的组件。


步骤三:覆盖率生成成功后,可点击部署历史列表对应的指标数据,跳转查看各组件的覆盖率以及具体的html报告。



说明:
- 针对环境流水线,须环境下的所有组件部署成功才会显示生成代码覆盖率入口。
- 所选组件,未开启代码覆盖率开关或没有对接代码覆盖率改造时,生成的覆盖率结果可能为0%,建议和项目开发负责人确认对应版本是否支持了生成代码覆盖率功能。
- 目前CICD已支持代码覆盖率范围指定,为进一步提升代码覆盖率准确性,建议各产品线参考《CICD 代码覆盖率范围指定.pdf》文档指定有效业务代码范围。
步骤一:点击环境流水线名称后,进入组件流水线列表。

步骤二:点击指定组件运行次数,进入组件流水线运行详情页面。

步骤三:进入组件流水线运行详情页面,可查看组件最近运行、组件运行历史、组件部署历史及组件的构建、部署日志等信息。

步骤四:进入组件部署历史界面。可点击生成代码覆盖率,以及查看跳转组件覆盖率报告。


参考4.11.3章节,进入环境流水线列表页面,点击“重试”按钮即可进行相关操作:


参考4.11.4.5章节,进入组件流水线部署历史页面,点击“回滚”、“重试”按钮即可进行相关操作:


日常开发过程中开发人员运行DEV环境流水线时默认选择develop分支,准备进行版本提测时,项目版本负责人需要选择release分支运行流水线进行自验证,验证通过后才能提测。

说明:
- DEV环境运行组件流水线时,默认develop分支,不可选择;
- SIT、UAT运行环境/组件流水线时分支默认release分支,不可选择。
日常迭代过程中,由于临时验证、升级需要制作/下载测试包时,可以点击关联对应项目版本的流水线记录,进入环境流水线最近运行详情页面后,切换到“部署历史”Tab页面,点击运行成功的部署记录,跳转到环境流水线部署单页面制作测试包,打包完成后即可下载测试包。

说明:
- 只有部署成功状态的部署单,“制作测试包”按钮才可激活点击;
- 下载测试包

团队开发/测试/运维人员登录系统后,进入环境管理-集群管理页面,选择团队、业务环境后,可查看环境中集群、实例的运行状态,对指定集群、实例、主机进行启动、停止、重启、卸载、查看日志、刷新等操作。

说明:
- 进行卸载操作时,不会卸载
mariadb或clickhouse的数据, 需要人工操作.
在账户管理模块,可添加账户,并对已存在的账户进行查询,修改,删除等操作。
配置管理员登录系统后,进入系统管理-账户管理页面,点击【添加账户】按钮,弹出添加账户弹出框,在弹出框内输入账户信息,点击保存,即可添加成功。

配置管理员登录系统后,进入系统管理-账户管理页面,在右上角搜索框内输入需要查询的姓名、账号,点击如下图标注2的搜索按钮,或者enter键,即可模糊搜索出满足条件的账户信息。

####4.13.3、编辑账户 配置管理员登录系统后,进入系统管理-账户管理页面,点击操作栏对应的编辑账户按钮,弹出编辑账户弹出框,在弹出框内编辑账户信息,点击保存,即可更新成功。

####4.13.4、删除账户 配置管理员登录系统后,进入系统管理-账户管理页面,点击操作栏对应的删除账户按钮,弹出删除账户确认框,点击【确定】按钮,即可删除成功。

登录系统后,进入日志管理-操作日志页面,可以查看系统相关的操作日志,且可根据操作时间段、操作人、操作类型、操作内容搜索日志记录。

1.根据4.9.1章节配置部署Prometheus、grafana-server、node_exporter中间件后,访问Grafana界面,即可根据项目需要导入相关模板监控主机CPU、内存、磁盘等信息,Grafana访问地址如下:
http://${Grafana所在服务器IP, e.g:192.168.136.13}:13000
默认账号密码:admin/admin
说明:
(1) 使用CICD部署的Prometheus,端口默认为19090,协议类型为http。
2.登录Grafana后,监控模板导入步骤如下:


3.示例模板监控效果如下:

1、到如下svn路径下获取send_data.py脚本文件,添加至项目对应目录。
https://183.66.242.6:6767/svn/Test/自动化/jmeterCase/CICD-JmeterDemo

2、进入对应的项目,点击左侧菜单栏中的“工作空间”选项,确认项目中正确加载了必要的目录和脚本,参考如下:

1、进入对应的项目,点击左侧菜单栏中的“配置”选项,进入项目配置页面。

2、增加taskCode参数(接口自动化结束后taskCode作为CICD回调的任务执行唯一凭证,默认值可以设置为0)。

3、增加构建后步骤,如下:

4、点击“Add build step”按钮,选择“Execute Windows batch command”执行Windows批处理命令。

5、输入如下命令,用于在执行自动化测试结束后,调用Python脚本发送数据给CICD管理系统。

6.选中所有构建条件后保存即可,如下:

1.使用部门python接口自动化框架的项目不需要增加Python脚本。
2.未使用部门python接口自动化框架的项目,可到如下svn路径下获取脚本文件参考进行数据统计方法改造,然后添加至项目对应的同级目录下。
https://183.66.242.6:6767/svn/Test/自动化/api_automation/AutoX/src/cicd
3.进入对应的项目,点击左侧菜单栏中的“工作空间”选项,确认项目中正确加载了必要的目录和脚本,参考如下:

1.进入对应的项目,点击左侧菜单栏中的“配置”选项,进入项目配置页面。

2.增加taskCode参数(接口自动化结束后taskCode作为CICD回调的任务执行唯一凭证,默认值可以设置为0)。

3.增加构建后步骤,如下:

4.点击“Add build step”按钮,选择“Execute shell”用于执行shell脚本。

5.输入如下命令,用于在执行自动化测试结束后,调用Python脚本发送数据给CICD管理系统。

6.选中所有构建条件后保存即可,如下:

1.添加流水线时,须选择包含“验证”阶段的流程配置模板;

2.点击“添加”按钮后,跳转到流程配置页面,点击“接口自动化”任务名称,进入编辑任务页面。
a.任务名称:默认显示为接口自动化,支持修改,建议一般可不修改任务名称。
b.Jenkins自动化参数配置:
i.环境级别:与添加流水线时选择的环境级别保持一致,没有的环境级别则不显示,默认优先显示DEV->SIT->UAT,每一个环境级别下都可设置Jenkins项目地址,并通过解析项目地址获取Jenkins构建参数。
ii.Jenkins项目地址:测试部自动化jenkins服务器对应项目的外网地址,如:
http://183.66.242.6:6780/view/CICD/job/CICD-JmeterDemo/job/CICD-JmeterDemo/
iii.Jenkins构建参数:取值与测试自动化jenkins项目中的构建参数(参数名称、参数描述、参数值)保持一致。获取时,如果有值的则显示为必填项,无值的显示为非必填项。
*说明:
1.Jenkins项目地址必须为对应项目job路径,如为文件夹路径则无法正确解析构建参数信息。
2.Jenkins构建参数目前仅支持文本输入框(String Parameter)、单选下拉框(Choice Parameter)、多选/复选框(Extended Choice Parameter)这几类执行参数转换,暂不支持日期等执行参数格式!
3.本迭代(V1.1.4版本)的接口自动化暂不支持并行任务,每一个环境仅支持配置1个Jenkins项目地址。
| 团队名称 | 项目名称 | 组件名称 | 支持情况 | 备注 |
|---|---|---|---|---|
| S17 | S17-V3.x (${项目版本号}>=V3.16.2) | dgw | 支持 | |
| dcs | 支持 | |||
| api-gw | 支持 | |||
| oms | 支持 | |||
| djms | 支持 | |||
| fms | 支持 | |||
| dfds | 支持 | |||
| dpgw | 支持 | |||
| mms | 支持 | |||
| gbs | 支持 | |||
| ms | 支持 | |||
| mrs | 支持 | |||
| mts | 支持 | |||
| dpcs | 支持 | |||
| pdgw | 支持 | |||
| mdgw | 支持 | 支持业务环境中同时包含mdgw、ms时,ms配置使用mdgw端口 | ||
| S17-V3.x (${项目版本号}>=V3.16.2) | streamax-player | 支持 | 支持业务环境中同时包含mdgw、ms时,ms配置使用mdgw端口 | |
| streamax-player-version-manager | 支持 | 支持业务环境中同时包含mdgw、ms时,ms配置使用mdgw端口 | ||
| 中台 | Firefly-V2.X (${项目版本号}>=V2.12.2-P7) | base-gateway-service | 支持 | |
| base-config-service | 支持 | |||
| base-server-service | 支持 | |||
| base-metadata-service | 支持 | |||
| base-evidence-service | 支持 | |||
| base-search-service | 支持 | |||
| base-msg-service | 支持 | |||
| base-flow-service | 支持 | |||
| base-driver-service | 支持 | |||
| base-face-algorithm | 支持 | |||
| base-face-service | 支持 | |||
| base-archiver-service | 支持 | |||
| base-data-reports | 支持 | |||
| base-config-reports | 支持 | |||
| base-etl-reports | 支持 | |||
| runtime-starry-base | 支持 | |||
| runtime-starry-pages | 支持 | |||
| runtime-starry-core | 支持 | |||
| runtime-starry-components | 支持 | |||
| saas-web | 支持 | |||
| base-mobile-web | 支持 | |||
| backstage-web | 支持 | |||
| base-login-web | 支持 | |||
| Crocus-V3.X (${项目版本号}>=V3.4.0-P1) | base-crocus-service | 支持 | ||
| base-crocus-web | 支持 | |||
| dev-ops-backstage-web | 支持 | |||
| Liense-V2.X (${项目版本号}>=V2.12.3) | license-web | 支持 | ||
| base-license-service | 支持 | |||
| Algorithm-V2.x (${项目版本号}=V2.12.2-Cmexico) | base-face-algorithm | 支持 | ||
| FT | FT-V3.X (${项目版本号}>=V3.13.1 | ft-manager | 支持 | |
| FT-V3.X (${项目版本号}>=V3.13.1 | ft-report | 支持 | ||
| FT-V3.X (${项目版本号}>=V3.13.1 | ft-openapi | 支持 | ||
| FT-V3.X (${项目版本号}>=V3.13.1 | ft-app-web | 支持 | ||
| FT-V3.X (${项目版本号}>=V3.13.1 | ft-entry-web | 支持 | ||
| FT-V3.X (${项目版本号}>=V3.13.1 | ft-geotab-web | 支持 | ||
| FT-V3.X (${项目版本号}>=V3.13.1 | ft-wialon-web | 支持 | ||
| FT-V3.X (${项目版本号}>=V3.13.1 | runtime-starry-ft-pages | 支持 | ||
| 人因 | 爱瑞特 | airuite-report-service | 支持 | 对接完成,暂未发布版本 |
| airuite-manager-service | 支持 | |||
| 仿真 | ai-sbs | 支持 | ||
| ai-sda | 支持 | |||
| hf-model-validation-service | 支持 | |||
| ks | ks-report | 支持 | 对接完成,暂未发布版本 | |
| ks-manager | 支持 | |||
| hf (${项目版本号}>=V2.2.0) | ai-hws | 支持 | ||
| hf-xxl-job | 支持 | |||
| hf-openapi-service | 支持 | |||
| hf-driver-portrait | 支持 | |||
| runtime-starry-human-factors-pages | 支持 | |||
| human-backstage-web | 支持 | |||
| ai-hbs | 支持 | |||
| 出租 | Alpha-V3.X (${项目版本号}>=V3.6.0) | alpha3-mobile-web | 支持 | |
| runtime-alpha3-pages | 支持 | |||
| alpha3-report | 支持 | |||
| alpha3-opeartion | 支持 | |||
| alpha3-manager | 支持 | |||
| alpha3-call | 支持 | |||
| alpha3-api | 支持 | |||
| alpha3-809 | 支持 | |||
| 公交 | BUS-V3.1 (${项目版本号}>=V3.18.0) | 所有组件 | 支持 |
先确认主机秘钥对是否存在,如果不存在,则需要生成对应的密钥对,用于免密控制

不存在则执行以下命令,连续确认,进行密钥对生成(若存在则会覆盖,导致原有密钥对及登录信息失效)
ssh-keygen -t rsa
若中间件环境机器存在已安装/未卸载干净的nginx或redis,会导致cicd安装nginx 、redis失败
1.存在已安装/未卸载干净nginx的情况,
(1)停止nginx服务
systemctl stop nginx
(2)卸载nginx
yum remove nginx
2.存在已安装/未卸载干净redis的情况
(1)停止nginx服务
systemctl stop redis
(2)卸载nginx
yum remove redis
从构建阶段中的任务日志 按钮跳转即可查看组件的构建日志

在Jenins中发现类似如下git拉取代码失败的错误,一般是网络原因,待网络稳定后重新运行流水线。


在Jenins日志中发现如下失败的错误,一般是构建组件分支不存在,需要检查此次构建的分支信息是否正确。

1.请先确保commitId是否为预期;

2.commitId正确的情况下再检查是否有依赖项的更新:目前创建流水线后, Java流水线模板的maven默认命令为"mvn clean package -U -DskipTests=true", 会强制更新SNAPSHOT的依赖项(若是此种情况, 清空本地.m2中对应GAV坐标的缓存, 本地重新编译也会报错)。



构建阶段报错信息如下:

原因: 目前构建流水线时都是打新老cicd兼容包,这里打包的时候发现没有老CICD的install文件夹,就打包失败了。 解决方案: 找一个正常的服务,把install文件夹拷过来改一改就行了,运行流水线打包时只要有这个文件夹就行了,但如果需要兼容老cicd部署这个服务,就需要保证脚本内容是对的。
构建阶段报错信息如下:

原因:
组件的assemble.sh配置文件中的组件名称/版本号与在CICD管理系统中录入的信息不一致
解决方案:
接入CICD管理系统的组件名称、版本号配置信息支持传参的方式,参数值来自系统录入的组件名称、版本号。可以参考如下进行修改,后续就不用每个版本维护这个文件的版本号了。

构建阶段报错信息如下:

原因:
前端的依赖版本有误。
解决方案:
参考如下进行修改:

通过查看部署的日志, 可定位80%的部署问题, 同时组件自身的install.sh等脚本输出内容也会在日志中呈现. 1.中间件可以通过【查看日志】按钮(目前仅能查看最近一次操作的日志)

2.业务组件, 可通过任务的部署日志 or 组件部署历史的部署日志 两个入口查看、


若部署时报错信息如下:

原因:
重装mariadb后没有重装nacos,缺少nacos用户
解决方案:
重装nacos
若部署失败时报错信息如下:

原因:
安装中间件后才开启防火墙
解决方案:
1.安装nacos时没开启防火墙,就不会开放21980的端口,开启防火墙重装nacos
2.手动开启防火墙端口
firewall-cmd --add-port=21980/tcp --permanent #开放端口21980 firewall-cmd --reload #重载入添加的端口 firewall-cmd --query-port=21980/tcp #查询指定端口是否开启成功
*说明:
1.目前中间件安装时都只开通了中间件的默认监听端口,若修改了中间件监听端口,则需要手动开启对应端口白名单。

原因:
一般是通过CICD系统安装后,人为在目标服务器上卸载/删除了组件。
解决方案:
登录CICD管理系统,进入环境管理-集群管理模块,找到对应环境的对应组件后(如截图,状态为异常的组件一般都是由于目标服务器上的组件信息与CICD系统记录的状态不一致导致的),选择对应组件,点击“卸载集群”按钮卸载该组件后再重新运行流水线进行构建部署。

查看流水线运行详情时,发现部署阶段长时间未完成(单个组件正常部署时间为3-5分钟),一般是由于网络不稳定导致部署状态未及时更新,目前请先联系CICD团队进行人工处理。

若部署失败时报错信息如下:

原因:
下载组件包失败。
解决方案:
1.重新运行流水线排除网络问题。
2.排除网络问题后可联系CICD团队进行人工处理。

原因:

因为通过CICD系统运行流水线进行组件的全新安装时,部署脚本install.sh检测到${组件名称}的进程或目录存在就会安装失败。因此,若出现如截图的报错信息,一般是由于目标机上存在未通过CICD系统进行卸载的组件或人为卸载时组件目录未删除干净。
解决方案: 方案一:检查目标机的${组件名称}进程在不在,若存在需要先卸载该组件,然后删除组件目录,参考步骤如下:
1.停守护(若有);
2.卸载组件(确保组件进程、组件目录等卸载干净);
3.重新运行流水线进行构建部署。
方案二:若目标机的${组件名称}进程不存在,则检查目标机上的${组件名称}的目录是否存在,若存在可以直接删除目录后重新运行流水线进行构建部署。
如下图显示,当光标移动到错误信息上后,可以查看错误信息

根据错误信息,可以初步按如下方案进行处理:
