功能介绍
1. 配置一键发布
整体介绍
配置发布模块可以实现版本配置只配置一次,后续发布版本配置到任意环境只需一键发布。解决不同环境版本不同步,版本发布配置操作复杂等问题。
配置一键发布功能将要上线的配置分版本管理起来,在不同环境下执行对应版本下的增量配置,并保 证各个环境配置的统一和同步。
流程介绍
具体功能
○ 模块管理
该功能用于维护各模块的仓库地址,新增版本的时候会与版本号做绑定,表示版本上线了这些模块,方便查找各个服务对应的git地址,基板的服务由运维来维护,开发可以新增和修改模块;
1)模块新增
点击新增按钮,填好模块名称和git地址,点击提交即可;
2)模块修改
点击修改按钮进行修改,将对应的模块名和git地址填好进行提交(图如上);
3)模块删除
可以多个选中点击按钮,也可以点击对应条项删除;
○ 版本管理
该功能用于管理每次上线的产品/项目的版本号,并明确需要上线哪些模块;
开发可以查看、编辑或者新增版本的具体信息;
版本相关的操作:
一、新增版本:
1、版本号格式请统一,(宁波统一用预计上线时间做为版本号,这里以每次开发的依赖版本号做版号)
2、上线时间的格式是固定的
比如,某个版本确定2022/02/25上线,上线时间即为20220205_01
该版本如果有迭代或是缺陷版本,按顺序排列上线时间为20220205_02,20220205_03
3、版本分类:
普通版本;
迭代版本:用于该版本分多次迭代时,每个迭代创建一个版本,比如创建了一个版本号为3.0.5的版本,其迭代版本的版本号即为3.0.5.T1
缺陷版本:用于该版本封板后新增缺陷配置,需要为该版本创建缺陷配置,比如创建了一个版本号为3.0.5的版本,其缺陷版本的版本号即为3.0.5.FIX1
二、编辑操作
三、封板操作
点击封板按钮对该版本进行操作,开发不具有封板权限,封板后版本下的配置不再更新该版本不
再发布;
○ 环境管理
该功能用于管理版本下不同环境对应配置项的url地址
开发对环境具有查看的权限,不能对环境进行修改或者新增
开发可以点击对环境的详细信息进行查看,一共有以下几项
1、公共内容
2、Apollo
环境:对应apollo页面的,Apollo集群对应如图,一定要检查好对应的环境和集群,保证apollo配置不会执行到别的环境中;
3、Flow工单(云融首页-管理后台-流程管理)
4、XxlJob 调度中心
5、Topic(Mq管理台)
6、Redis
Redis 这里“网贷”“核算”的名字是自行规定的,提交配置的时候要和这里保持一致
7、Sql
SQL的环境有oracle和sql两种
Mysql的数据源url的参数也要确认好timezone、characterEncoding一些不可缺少的参数
8、Outreach(内联)
○ 配置管理
配置管理是以上线版本为维度配置各上线版本对应的配置,定位与release-guide一致。
开发可以对配置进行新增,编辑,删除等操作;
- Apollo
预配置本次版本要上线的apollo配置。
本平台所有版本的apollo配置只配置要上线的配置,修改、修复配置请在【apollo调试】中配置,不要在【配置管理】配置!
配置展示列表如下
1)配置添加
点击可以添加新的Apollo配置
【注意】添加的时候一定要弄清楚Apollo配置的分类
Apollo的配置可以分为 全环境通用配置 和 当前环境配置
全环境通用:简称通用配置,该配置在所有环境的apollo中,键值对完全一致(通常业务上
要上线的配置都是通用配置)。
添加配置界面:
该配置添加好之后,不管配置发布到哪个环境,全环境通用的apollo配置都会生效;
当前环境配置:简称环境配置,该配置在不同环境的apollo中,键一致,值不同,例如说数据
库地址、注册地址、密码、业务开关等。
添加当前环境配置页面:
注意:添加环境配置必须填写【其他环境默认值】(目的是不能让其他环境缺失该配置)。
添加好之后,环境有对应的值就以该值显示,没有则会显示默认值;
示例:以上操作添加好之后就是这样的:
当要把该配置发布到某个环境中,首先需要找到与该环境相关的那条配置,然后再把配置值改成自己需要的值,改好之后就可以发布了!
2)多条配置文本类型添加:
添加的格式如下图
【配置的名】=【配置的值】#【配置的注释】
注释一定要写,不然是无法添加成功的!
可以直接点击添加;也可以点击检查一下自己的添加是否有误
预览效果:
如果发现有问题也可以在文本框内修改 再提交!
【注意】注意预览不要多次点击,也无法撤回预览界面!
【注意】多条配置添加也是要注意分类的,但是当前环境配置只允许添加一个环境的配置,其他环境的配置值后台会自动添加为【待配置】;
- Sql
预配置本次版本要上线的SQL脚本;
页面展示如图所示:
一 、添加脚本
点击可以添加新的sql脚本
注意提交的时候一些要点:
① 库名的问题,mysql库名/oracle用户名可以去环境管理对应的sql条目下查看,如果没有你需要的
库名,联系运维增加;
②对于mysql和oracle执行的库名相同的情况,可以把mysql和oracle的脚本提到一条配置上,执行的时候分别执行,但注意mysql和oracle要维护两套环境
③mysql语句提交的时候会做一些内容的校验:
(1)建表语句一定要有对应的drop语句;
(2)建表时候对(TENANTID,CREATETIME,UPDATETIME)做校验;
(3)脚本提交遵从过去的基本格式,不要胡乱添加;
④如果有脚本是要回滚的话,在对应的mysql/oracle-回滚SQL去提交对应的回滚脚本,回滚配置的时候会执行对应的回滚脚本;
二、其他操作
点击可以编辑对应的脚本,点击删除对应的脚本,
点击下载会将此条脚本下载成sql文件;
- **Topic**
预配置本次版本要上线的topic配置;
展示列表:
一、添加TOPIC
点击可以添加新的topic名称
添加的TOPIC名称要写对,该topic对于单体或是集群的发布都是可用的;
二、其他操作:
点击可以编辑对应的脚本,点击删除对应的脚本,
- **Redis**
预先配置本次要清理的Redis缓存;
添加清理配置的时候注意要和环境下的名字对应好;
每个版本都只能有一条清理Redis的配置;
展示列表如下;
一、点击添加配置
注意这里清理列表的格式,key与key之间用换行符隔开;
二、其他操作
点击可以编辑对应的脚本,点击删除对应的脚本,
- **Xxl-job**
预配置本次版本要上线的Job配置,以xml文件形式上传,发布会将对应的文件导入到对应环境中
展示列表如下:
一、点击添加配置
【注意】添加时候执行器一定要和环境内已有的执行器名称保持一致,如果这里填的执行器环境不存在,联系运维添加(一般执行器在环境搭好都是添加好的);
注意执行器首次在这里添加需要手动输入,后续添加可以在下拉框中看到你添加过的执行器;
二、其他操作
点击可以编辑对应的脚本,点击删除对应的脚本,
点击下载会下载对应文件到本地;
- **工单(Flow)**
预配置本次版本要上线的流程图(工单)配置,以.bpmn文件形式上传,发布会在环境中导入对应的文件
展示列表如下
一、点击添加配置
Flow配置的配置名称会自动读取你的文件名称
二、其他操作
点击可以编辑对应的脚本,点击删除对应的脚本,
点击下载会下载对应文件到本地;
- **内联**
预配置本次版本要上线的流程图(工单)配置,以.bpmn文件形式上传,发布会在环境中导入对应的文件
展示列表如下
一、点击添加配置
内联配置有两种
一种是业务接口,正常是以zip文件形式上传,
二种是数据字典,以xlsx文件形式上传,
发布会将该条配置对应的文件导入到对应的环境中
二、其他操作
点击可以编辑对应的脚本,点击删除对应的脚本,
○ 配置调试
- Apollo调试
Apollo调试的作用主要用于
1、开发测试调整一些不需要上线的配置,比如在开发过程中有需要测试的一些配置
2、测试改mock,业务开关
这些配置都是不需要上线的配置不需要在配置管理中提交,这里新增的或者是修改的配置直接作用于Apollo的环境内;
新增配置:
点击提交之后,会直接在Apollo的环境中生效成功;
- Sql调试
○ 配置审批
功能介绍:对开发提交上线的配置做统一的审批
在配置提交页面,不管那个页面都可以看到选择审批人的页面:
如果有配置审批的过程话,新增的配置不会直接提交会先在提交在审批页面
审批页面展示如下:
审批人可以点击进行查看,并选择是否让配置直接提交;
○ 配置评审
版本封板上线前,会将所有该版本下的生产配置列出来,方便相关人员逐一评审
评审页面如下:
注意Apollo只查看全环境通用配置和环境名称带有prod的配置;