功能介绍
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地址不要缺少【http://】,填到端口号为止,结尾不要加斜杠;比如:【http://192.168.1.1:8080】
三方授权key的生成方式见:Apollo生成Token
环境:对应apollo页面的,Apollo集群对应如图,一定要检查好对应的环境和集群,保证apollo配置不会执行到别的环境中;
3、Flow工单(云融首页-管理后台-流程管理)
2.1和3.0是不同项目地使用的区分,宁波目前使用的是2.1,公司目前用3.0
地址以【http://】开头,以端口号结尾;![image.png](https://cdn.nlark.com/yuque/0/2022/png/22781404/1645757622060-f009492b-551f-4268-88f7-2d5c51235368.png#clientId=uc52b0d9d-136c-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=114&id=u87a60729&margin=%5Bobject%20Object%5D&name=image.png&originHeight=228&originWidth=1690&originalType=binary&ratio=1&rotation=0&showTitle=false&size=19192&status=done&style=none&taskId=u2f3b19fc-537b-4f21-8954-92beb5faabc&title=&width=845)
4、XxlJob 调度中心
5、Topic(Mq管理台)
6、Redis
Redis 这里“清理范围”的名字是自行规定的,提交配置的时候要和这里保持一致
添加Redis配置要搞清楚:
1、清理范围指的是要清理哪个地址的Redis,如果是Redis集群,每个地址之间用”,”隔开 ,密码也是一样的,用“,”隔开;
2、这里清理范围公司默认是【信贷】,宁波默认是【网贷】【核算】,开发提交配置的时候与这里是一一对应的,对应不好不能清理相关的配置;
添加示例:
7、Sql
SQL的环境有oracle和sql两种
Mysql的数据源url的参数也要确认好timezone、characterEncoding一些不可缺少的参数
数据源名称在这边由运维来配置;
【注意】
运维要将此次用到的库和url一一对应好,并且在【动态配置】中把这次的所有库都添加进去;
如上图所示,有oracle和sql两个环境,一共有asset,bigacct,credit,flow,base五个库
在【系统管理】→【动态配置】处 找到 user这个关键字,点击修改,将这五个库配置好,开发在提交配置的时候可以正常提交
8、Outreach(内联)
○ 配置管理
配置管理是以上线版本为维度配置各上线版本对应的配置,定位与release-guide一致。
运维可以对配置进行新增,编辑,删除等操作;
- Apollo
预配置本次版本要上线的apollo配置。
本平台所有版本的apollo配置只配置要上线的配置,修改、修复配置请在【apollo调试】中配置,不要在【配置管理】配置!
配置展示列表如下
1)配置添加
点击可以添加新的Apollo配置
【注意】添加的时候一定要弄清楚Apollo配置的分类
Apollo的配置可以分为 全环境通用配置 和 当前环境配置
全环境通用:简称通用配置,该配置在所有环境的apollo中,键值对完全一致(通常业务上
要上线的配置都是通用配置)。
添加配置界面:
该配置添加好之后,不管配置发布到哪个环境,全环境通用的apollo配置都会生效;
当前环境配置:简称环境配置,该配置在不同环境的apollo中,键一致,值不同,例如说数据
库地址、注册地址、密码、业务开关等。
【注意】大部分当前环境配置:比如数据库地址,密码,sftp地址,密码,等等都是运维来统一配置的,这部分配置由运维负责新增和维护;
添加当前环境配置页面:
注意:添加环境配置必须填写【其他环境默认值】(目的是不能让其他环境缺失该配置)。
添加好之后,环境有对应的值就以该值显示,没有则会显示默认值;
示例:以上操作添加好之后就是这样的:
当要把该配置发布到某个环境中,首先需要找到与该环境相关的那条配置,然后再把配置值改成自己需要的值,改好之后就可以发布了!
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的配置;
所以运维务必保证其他环境的名称中不能带有prod,不然会在评审的时候出现混乱!