00:00
这堂课呢,就是来说一下这个SOPS自动审核上线这个平台是怎么搭建的,那这个平台呢,是我2018年的那个时候去用PP所写的。当时啊,为什么要研发这个平台呢?是当时我们那个上线啊,每天上线大概50~100的吧,当时就是执行搜个我我觉得这个当时这个频率太高了,我们每天呢上班就是给研发执行S,所以我觉得这个这种这种工作方式就是这个是太累了,所以后来呢就是写了一个平台,然后呢这里呢,我是借鉴了这个去哪儿网那个inception这个工具的实践思,然后定义定义了一下我们公司目前的规则,然后呢,并且把那个美团网当时这个circle adviser这个索引优化建议给集中在一起了。啊,然后呢,用PP所所实现在我们公司来使用。那么主要它解决了两方面目的,第一个是避免性能太差circleq啊进入生态系统,导致整体性能降低,第二个检查开发那个索引是否没有加,然后是否需要添加索引。
01:12
啊,实践思就是我是通过正则表达式来获取前端的circle口,然后触碰好我直接定义好的规则,然后呢,如果符合这规则了,那么就可以自动去审核通过。啊,就是这么,这这是不是我大体的一个流程啊,我把这图都画在这了,那我们先看一眼,这是。我这个平台是怎么使用的啊。这是用的管理员账号登的。啊,你也可以注册登,注册用户也可以,比如说当你忘记密码了,你可以去去改这个密码,然后你点啊登记登登录。啊,这个就是我平台的一些页面啊,你可以选择工单名称啊,审批人啊,上线理由是什么啊,这你的库名。
02:00
这是待审核的。啊,这是工单汇总啊,这这就是还有一个系统拦截。就哪些SQ不符合规范,都会被拦截在这里的。啊,你可以看这啊,这是不符合规范,因为它没有外。啊,然后这是整个的一个平台介绍啊,我主要是这个是核心的文件SQ review.pp这是系统审核的核心文件啊,这可以呃,你可以配置这个那个email可以发送到邮邮件啊,啊提示上线。啊,这就是我的一些规则。啊。这事,我这些规则是什么样的?啊,先先随便上线一下,给看一眼吧。啊,我。这是我要上,这是我那台模拟的是线上主库啊。
03:00
啊,我一个,我到时要插入一条第二个条二还有B啊。啊,然后。二。啊,你随便一上线。那这个就是这个已经通过自动审核了,它会提示一个这个页面你看。待审批,然后我们到那个待审批那。这有一审批,你可以点击这审批。你可以点击这个名称,可以看见他的SQL是什么样子的,然后你觉得没问题了啊,你选一个审批,就是人工审批,点审批,审批完以后呢,你就点击这个执行。执行工单是。哎,这个时候呢,这工单已经执行完了,你我们来看一下这个啊。
04:02
哎,你看没有,这个数据已经被插入完了啊,这是我之前做的一个,呃,审核工单。那这是给大家演示了一下,那怎么去怎么去安装部署呢,首先呢,你需要。第一个是环境准准备,那么你这里需要啊,就直接就复制就行了,那这里呢,我的因为我这个上线呢,是调用的是那个买RDB的客户端,因为在MYQ客户端。他是如果你要是不输入输入一个用户名密码的话,它会提示一个警告,这时候我上线会失败,所以说这里呢,哎,一定要要装一个玛雅DB的客户端。啊,就是这个。啊,一定要。啊,一定要装一个马DB的客户端,他这样的话就防止那个呃用户。
05:04
就是这么个意思。那你看这个马来DB,它是不不弹那个警告的,如果你要用my circle的话,这时候它会弹出警告。所以我这平台到时候会报错,就这警告啊,就这么个意思,所以说这里要用马来DB的客户端。然后这里呢,你需要安装这个SSH2这个扩展,那你就直接去这么着,呃,运行,然后呢,在这个最后一行添加一这个。这是一个基础环境。啊,把这个给装。然后呢,一重体啊,这个整体的这个环境就装完了。然后这里呢,是呃,用的是这个美美团网cycle weatheror,然后这里呢,我是。
06:04
把这个目录呢给下载好了,然后你就直接是以解压缩,解压缩放到user还是logo下。啊,我放到这里了啊,这是它的二进制啊。嗯,你把这一压缩就行了。然后呢,第二个呢,是用的是这个回滚这个冰烙二色口啊用,然后呢,我这也是都给你装好了,你只要需要给他一起压缩。槟榔二三号上,你给它放到user,也是放到user色local下的。放到这里的啊。这俩估计就完成了。然后首先呢,我们第一步呢,你需要先。导入我这个表结构,你需要先装一个啊,我是在这台机器上装了一个运维管理机啊,你需要装一个运维管理机。
07:05
嗯,我这里库呢,就叫circleq OS啊,这是我自己创建的一个库,这到时候你们可以随便起起这个名,嗯,然后呢,需要就导入刚才我这里的一个表结构。我把这个表结构往里一导入啊,然后就这就可以了。然后呢,我们来配置是这一项。啊,第一个是配置这个com.PP啊,你需要写入本地的啊用户名密码,这个刚才我们那个数据库名。现在流量啊,你回车。这样不报错就代表这个连接成功了。然后第二个要改的是这个advise。啊,这个con。这里呢,你需要把写你这个,呃,系统那个账号密码,就是SSH的账号密码啊,这个是。啊,端口号SSH端口号这是路径,你把那个路径weather这路径给写好了,其他的不用改了。
08:08
一个是改这个,还有一个呢,就是改这个c check。啊CQ check这里呢,是我是调用的是这个,呃,检查这个你的客户端是否,呃,就是检查circleq是不是有语法报错,那么我这里呢,你也是改成那个买家DB的客户端啊这里要。嗯,要写上玛莎DB客户端,那比如说我这里给大家演示一下,比如说我现在。我现在啊。我发起工单啊。我随便比如说我这个delete啊,Delete放P。啊,因为我这个SQL语法有有现在有错误是吧,那我这个文件主要是利用来检测这个SQL语法是不是有错误的。
09:00
到时候你执行的时候。他就检查出来,你看你这个circleq语法有错误啊,你看这提示了一些信息,这样呢,避免了我们一些生产的一些错误的circleq去执行啊,这个文件主要是是这么个意思,就是circle check,你到时候你改一下,就把这个路径改成那个马DB的客户端就行了啊,这123其他的不用改。还有一个呢,是改成那个就to circle的。这里也是你改成那个b circle这个客户端,这个路径是在哪啊,我是在这里的啊,你可以写一下。然后这里还是一样的,改成那个用户名密码,就是那个SSH的用户名密码啊,你把你一填。啊,这个就是这个文件就配置完了。
10:00
啊,需要改的,就刚才,就刚才我们说的一个G文件也好,一个G文件。然后这个上线呢,啊,还有一个文件叫这个。这同样的,还是改成马DB的客户端。啊,就在这里的啊。因为买15.6,刚才我说会报这个错误,会导致上线失败,所以说你需要这里用买家DB的客户端就放这儿了。啊,只改这一个啊,其他的都不用改。然后至此啊,我们这个整个整体的部署就是部署完了,然后下面呢,是我的一些规则啊,这是我定下,这是我们公司结合我们公司定的一些规则。是在这儿呢,这aler规则啊,Insert规则啊,删除规则啊。啊,那比如说现在我这delete啊。我现在不加外耳,这样呢,它会报一个错。表现直行。你看啊。
11:00
我这就写啊,因为你那个delete没有加这个外点条件,所以说这里呢会禁止执行啊,这样就避免了研发误操作,把表都给清空了。啊,这个就是。嗯,我这个核心文件就是这个,这是review检查的,自动审核的。然后相关的规则呢。哦,就在这块,你看这不一K吗?这有一个音色的。这有一个K啊,如果你哪些,你如果你觉得哪些语法不太需要呢,你就前面给它加一个注释,给他注释掉。那这个规则相当于就是就不需要了。啊,这就是整体的规则,到时候大家按照你的情况去改一下就行了,那比如刚才我们说那个外啊,如果你觉得外可以的话,你就直接就这。就这么着给注销掉啊就可以了啊,这个相当于就是失效了,就没有用了。
12:09
啊,就这么个意思啊,如果你哪觉得哪个规则不需要,你就给他注释掉。嗯,还有地方要改的就是这个就是选择审批人啊,这个呢,你要想改呢,因为默认的我是写我的名字了啊,你要想改的话,你可以这样用fight。星点PP,你找一下那个那个文件是在哪。SARTS。啊,就是在这个文件就叫这个文件啊。
13:03
啊,到时候你把我的名字换成你的那个名字就就可以了。啊,包括其他的,比如说这这个呃,URL啊,到时候你也是按照同样的方方法啊,就可以把这个就给改了啊,这就是实现了一个用用PP来重构的那个exception。这个一个平台,大体的是给大家演示完了。嗯,这可以解决的,目前我们公司上线就是用我这平台写的啊,解决的是后期的很多的麻烦事啊,不用一天执行五到50~100条4Q上线了啊,这些基本上我都推给研发他们自己去上线了。还有一个呢,就是权限这块。权限呢,这个是你看这个表啊,Local user表。也就是我这个。
14:13
啊,这个权限100呢,就是D杯啊,这地碑这个权限呢,是既可以审批色Q,也可以执行色Q,如果是研发经理的话,你就呃这里改成一,这样的话,它是不能执行circleq的普通研发呢,这个这是这个权限是零啊就是这个。就这个区别。嗯,到时候大家可以去部署一下体验体验看看哪有问题啊,都可以去跟我去反馈,到时候我会把这源码包呢,给大家放到那个附件里头。啊,然后大家可以去部署一下,整体来说这个基本上还是很简单的,就是改这个马亚TB客户端这块需要编辑这几个文件,这是我当时写的没有。
15:01
写成统一的一个文件,这里稍微要注意点。改起来可能会麻烦一些,反正就是我给你写好了,就这几个文件,到时候一编辑就可以了。嗯,然后就其他的就没有没什么了,就是。那行,那我们今天这堂课呢,就就先演示到这儿了。
我来说两句