功能介绍

1. 配置一键发布

整体介绍

配置发布模块可以实现版本配置只配置一次,后续发布版本配置到任意环境只需一键发布。解决不同环境版本不同步,版本发布配置操作复杂等问题。
image.png
配置一键发布功能将要上线的配置分版本管理起来,在不同环境下执行对应版本下的增量配置,并保 证各个环境配置的统一和同步。

流程介绍

image.png

具体功能

○ 模块管理

该功能用于维护各模块的仓库地址,新增版本的时候会与版本号做绑定,表示版本上线了这些模块,方便查找各个服务对应的git地址,基板的服务由运维来维护,运维可以新增和修改模块;
image.png
1)模块新增
点击新增image.png按钮,填好模块名称和git地址,点击提交即可;
image.png
2)模块修改
点击修改image.png按钮进行修改,将对应的模块名和git地址填好进行提交(图如上);
3)模块删除
可以多个选中点击image.png按钮,也可以点击image.png对应条项删除;

○ 版本管理

该功能用于管理每次上线的产品/项目的版本号,并明确需要上线哪些模块;
运维可以查看、编辑或者新增版本的具体信息;
image.png
版本相关的操作:
、新增版本:
image.png
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地址
运维需要维护环境,对环境具有新增,编辑,删除,查看的权限
运维可以点击image.png对环境进行新增:
image.png
1、公共内容
image.png
2、Apollo
添加地址时,apollo地址不要缺少【http://】,填到端口号为止,结尾不要加斜杠;比如:【http://192.168.1.1:8080】
三方授权key的生成方式见:Apollo生成Tokenimage.png
环境:对应apollo页面的image.png,Apollo集群对应如图,image.png一定要检查好对应的环境和集群,保证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 调度中心
image.png
5、Topic(Mq管理台)
image.png
6、Redis
Redis 这里“清理范围”的名字是自行规定的,提交配置的时候要和这里保持一致
添加Redis配置要搞清楚:
1、清理范围指的是要清理哪个地址的Redis,如果是Redis集群,每个地址之间用”,”隔开 ,密码也是一样的,用“,”隔开;
2、这里清理范围公司默认是【信贷】,宁波默认是【网贷】【核算】,开发提交配置的时候与这里是一一对应的,对应不好不能清理相关的配置;image.png
添加示例:image.png
7、Sql
SQL的环境有oracle和sql两种
Mysql的数据源url的参数也要确认好timezone、characterEncoding一些不可缺少的参数
数据源名称在这边由运维来配置;
image.png
image.png
【注意】
运维要将此次用到的库和url一一对应好,并且在【动态配置】中把这次的所有库都添加进去;
如上图所示,有oracle和sql两个环境,一共有asset,bigacct,credit,flow,base五个库
在【系统管理】→【动态配置】处 找到 user这个关键字,点击修改,将这五个库配置好,开发在提交配置的时候可以正常提交
image.png
8、Outreach(内联)
image.png

○ 配置管理

配置管理是以上线版本为维度配置各上线版本对应的配置,定位与release-guide一致。
运维可以对配置进行新增,编辑,删除等操作;

  1. - Apollo

预配置本次版本要上线的apollo配置。
本平台所有版本的apollo配置只配置要上线的配置,修改、修复配置请在【apollo调试】中配置,不要在【配置管理】配置!
配置展示列表如下image.png
1)配置添加
点击image.png可以添加新的Apollo配置
【注意image.png】添加的时候一定要弄清楚Apollo配置的分类
Apollo的配置可以分为 全环境通用配置 和 当前环境配置

全环境通用:简称通用配置,该配置在所有环境的apollo中,键值对完全一致(通常业务上
要上线的配置都是通用配置)。
添加配置界面:
image.png
该配置添加好之后,不管配置发布到哪个环境,全环境通用的apollo配置都会生效;

当前环境配置:简称环境配置,该配置在不同环境的apollo中,键一致,值不同,例如说数据
库地址、注册地址、密码、业务开关等。
【注意】大部分当前环境配置:比如数据库地址,密码,sftp地址,密码,等等都是运维来统一配置的,这部分配置由运维负责新增和维护;

添加当前环境配置页面:
image.pngimage.png
注意:添加环境配置必须填写【其他环境默认值】(目的是不能让其他环境缺失该配置)。
添加好之后,环境有对应的值就以该值显示,没有则会显示默认值;
示例:以上操作添加好之后就是这样的:
image.png
当要把该配置发布到某个环境中,首先需要找到与该环境相关的那条配置,然后再把配置值改成自己需要的值,改好之后就可以发布了!
2)多条配置文本类型添加:
添加的格式如下图
【配置的名】=【配置的值】#【配置的注释】
注释一定要写,不然是无法添加成功的!
image.png
可以直接点击image.png添加;也可以点击image.png检查一下自己的添加是否有误
预览效果:
image.png
如果发现有问题也可以在文本框内修改 再提交!
【注意image.png】注意预览不要多次点击,也无法撤回预览界面!
【注意image.png】多条配置添加也是要注意配置范围的,但是当前环境配置只允许添加一个环境的配置,其他环境的配置值后台会自动添加为【待配置】;

  1. - Sql

预配置本次版本要上线的SQL脚本;
页面展示如图所示:
image.png
一 、添加脚本
点击image.png可以添加新的sql脚本
image.png
注意提交的时候一些要点:
① 库名的问题,mysql库名/oracle用户名可以去环境管理对应的sql条目下查看,如果没有你需要的
库名,联系运维增加;
②对于mysql和oracle执行的库名相同的情况,可以把mysql和oracle的脚本提到一条配置上,执行的时候分别执行,但注意mysql和oracle要维护两套环境
③mysql语句提交的时候会做一些内容的校验:
(1)建表语句一定要有对应的drop语句;
(2)建表时候对(TENANTID,CREATETIME,UPDATETIME)做校验;
(3)脚本提交遵从过去的基本格式,不要胡乱添加;
④如果有脚本是要回滚的话,在对应的mysql/oracle-回滚SQL去填写对应的回滚脚本提交,回滚配置的时候会执行对应的回滚脚本;
二、其他操作
点击image.png可以编辑对应的脚本,点击image.png删除对应的脚本,
点击下载image.png会将此条脚本下载成sql文件;

  1. - **Topic**

预配置本次版本要上线的topic配置;
展示列表:image.png
一、添加TOPIC
点击image.png可以添加新的topic名称
image.png
添加的TOPIC名称要写对,该topic对于单体或是集群的发布都是可用的;
二、其他操作:
点击image.png可以编辑对应的脚本,点击image.png删除对应的脚本,

  1. - **Redis**

预先配置本次要清理的Redis缓存;
添加清理配置的时候注意要和环境下的名字对应好;
每个版本都只能有一条清理Redis的配置;
展示列表如下;
image.png
一、点击image.png添加配置
注意这里清理列表的格式,key与key之间用换行符隔开;
image.png
二、其他操作
点击image.png可以编辑对应的脚本,点击image.png删除对应的脚本,

  1. - **Xxl-job**

预配置本次版本要上线的Job配置,以xml文件形式上传,发布会将对应的文件导入到对应环境中
展示列表如下:
image.png
一、点击image.png添加配置
【注意image.png】添加时候执行器一定要和环境内已有的执行器名称保持一致,如果这里填的执行器环境不存在,联系运维添加(一般执行器在环境搭好都是添加好的);
注意执行器首次在这里添加需要手动输入,后续添加可以在下拉框中看到你添加过的执行器;
image.png
二、其他操作
点击image.png可以编辑对应的脚本,点击image.png删除对应的脚本,
点击下载image.png会下载对应文件到本地;

  1. - **工单(Flow)**

预配置本次版本要上线的流程图(工单)配置,以.bpmn文件形式上传,发布会在环境中导入对应的文件
展示列表如下
image.png
一、点击image.png添加配置
Flow配置的配置名称会自动读取你的文件名称
image.png
二、其他操作
点击image.png可以编辑对应的脚本,点击image.png删除对应的脚本,
点击下载image.png会下载对应文件到本地;

  1. - **内联**

预配置本次版本要上线的流程图(工单)配置,以.bpmn文件形式上传,发布会在环境中导入对应的文件
展示列表如下
image.png
一、点击image.png添加配置
内联配置有两种
一种是业务接口,正常是以zip文件形式上传,
二种是数据字典,以xlsx文件形式上传,
发布会将该条配置对应的文件导入到对应的环境中
image.png
二、其他操作
点击image.png可以编辑对应的脚本,点击image.png删除对应的脚本,

○ 配置调试
  1. - Apollo调试

Apollo调试的作用主要用于
1、开发测试调整一些不需要上线的配置,比如在开发过程中有需要测试的一些配置
2、测试改mock,业务开关
这些配置都是不需要上线的配置不需要在配置管理中提交,这里新增的或者是修改的配置直接作用于Apollo的环境内;image.png
新增配置:
image.png
点击提交之后,会直接在Apollo的环境中生效成功;

  1. - Sql调试

○ 配置审批

功能介绍:对开发提交上线的配置做统一的审批
在配置提交页面,不管那个页面都可以看到选择审批人的页面:
image.png
如果有配置审批的过程话,新增的配置不会直接提交会先提交在审批页面

审批页面展示如下:
image.png
审批人可以点击image.png进行查看,并选择是否让配置直接提交;
【注意】
审批人 需要运维来添加,只需要设置该用户的权限即可,一般来说,组长具有审批权限,管理员具有审批权限;

○ 配置评审

版本封板上线前,会将所有该版本下的生产配置列出来,方便相关人员逐一评审
评审页面如下:
注意Apollo只查看全环境通用配置和环境名称带有prod的配置;
所以运维务必保证其他环境的名称中不能带有prod,不然会在评审的时候出现混乱!image.png

2. 动态配置管理