《智能代码审查系统》整体测试-第01节:整体代码审查功能测试
作者:冰河
星球:http://m6z.cn/6aeFbs
博客:https://binghe.site
文章汇总:https://binghe.site/md/all/all.html
源码获取地址:https://t.zsxq.com/UIr1U
沉淀,成长,突破,帮助他人,成就自我。
大家好,我是冰河~~
经过前面几个章节的实现,又完善了AI智能代码审查系统的CodeReview服务层的功能,能够生成CR记录和日报,对接微信-钉钉-飞书-自定义WebHook实现了发送通知消息。并且设计和实现了基于Gitea、Github和Gitlab三大类型代码仓库的核心WebHook,分别对Gitea、Github和Gitlab的Push和PR/MR等代码的Code Review进行了设计和实现。接下来,对AI智能代码审查系统进行整体功能测试。
一、部署启动项目
这里,需要注意的是,要将项目部署到gitlab能够访问的服务器上。这里,我将服务部署在与gitlab同一个局域网。如果小伙伴们部署,可以在本地安装Docker环境,使用Docker部署gitlab。然后本地启动AI智能代码审查系统。也可以将gitlab部署到本地或者云端,在云端部署AI智能代码审查系统。总之,只要gitlab能够正常访问AI智能代码审查系统即可。
1.1 服务器划分
在整体局域网中,gitlab和AI智能审查系统部署的服务器如下所示。
| 服务器 | IP | 监听端口 |
|---|---|---|
| gitlab服务器 | 10.3.3.22 | - |
| AI智能代码审查系统 | 10.3.3.36 | 5002 |
1.2 配置环境变量
由于绝大部分配置项都优化成了可通过环境变量配置,所以,这里我们对AI智能代码审查系统配置一些环境变量,如下所示。
(1)配置数据库环境变量
DB_URL=你的数据库URL
DB_DRIVER=你的数据库驱动程序
DB_USER=你的数据库账号
DB_PASSWORD=你的数据库密码
(2)配置AI大模型环境变量
AI智能代码审查系统内置支持的大模型包括:
- openai:OpenAI大模型
- deepseek:DeepSeek大模型
- qwen:阿里通义千问大模型
- glm:智谱GLM大模型
这里,以配置DeepSeek大模型环境变量为例。
LLM_PROVIDER=deepseek
DEEPSEEK_API_KEY=你的deepseek大模型apiKey
DEEPSEEK_API_BASE_URL=https://api.deepseek.com
DEEPSEEK_API_MODEL=选择合适的deepseek大模型
(3)配置gitlab环境变量
GITLAB_URL=你的gitlab地址
GITHUB_ACCESS_TOKEN=你的gitlab access_token
(4)配置Review规则环境变量
SUPPORTED_EXTENSIONS=扩展语言文件后缀(默认支持:java,.py,.php,.yml,.vue,.go,.c,.cpp,.h,.js,.css,.md,.sql,.ts,.tsx,.jsx)
REVIEW_STYLE=审查风格,可取的值为:professional、sarcastic
REVIEW_MAX_TOKENS=每次CR时消耗的最大Token值,默认10000
PUSH_REVIEW_ENABLED=true/false,是否对push代码进行CR,默认false
MERGE_REVIEW_ONLY_PROTECTED_BRANCHES_ENABLED=true/false,是否只对保护分支CR,默认false
MERGE_REVIEW_ONLY_BRANCH_NAME=要CR的分支,多个分支用英文,隔开
(5)配置消息通知环境变量
这里以配置钉钉为例:
DINGTALK_ENABLED=true
DINGTALK_WEBHOOK_URL=触发钉钉消息推送的接口
1.3 部署启动项目
配置完环境变量,将AI智能审查系统打包成Jar文件,在10.3.3.36服务器上启动AI智能审查系统。
注意:这个过程比较简单,相信小伙伴们都能正确启动AI智能审查系统,详细的启动过程,这里就不再赘述。另外,启动AI智能审查系统前,需要创建ai_review数据库,并在ai_review数据库中执行项目data目录下的ai_review.sql文件创建数据表。
二、配置gitlab
AI智能审查系统支持对接github、gitee和gitlab实现智能代码审查,这里,以gitlab配置为例。在项目设置里找到webhooks,添加新的webhook,如下图所示。
添加webkook:

配置URL:
添加AI智能审查系统的webhook接口地址,如下图所示。

选择触发来源:
这里,我勾选推送事件,选择正则表达式,填写dev。表示对dev分支的push代码会触发webhook调用URL接口,触发AI智能代码审查系统进行代码审查。随后,选择合并请求事件,也就是说,当存在合并代码的merge request请求时,会触发webhook调用URL接口,触发AI智能代码审查系统进行代码审查。如下图所示。

SSL验证:
如果AI智能代码审查系统的webhook接口对外暴露的是https协议,则勾选启用SSL验证,否则,不勾选启用SSL验证。由于我这里配置的是http协议,所以,这里不勾选启用SSL验证。如下图所示。

最后,点击保存更改即可。
三、测试审查代码
向代码仓库的dev分支推送代码,或者触发代码的merge request,gitlab就会触发webhook,调用AI智能代码审查平台的接口对代码进行审查。
3.1 审查MR代码效果
智能代码审查系统效果:


代码仓库MR代码效果:


3.2 审查Push代码效果
智能代码审查系统效果:


代码仓库Push代码效果:


四、本节总结
本节,对智能代码审查系统的项目部署、gitlab配置和测试效果进行了简单的说明。
希望本节内容能够为大家带来实质性的帮助,我们一起搞定AI智能代码审查系统。
查看完整文章
加入冰河技术知识星球,解锁完整技术文章、小册、视频与完整代码
写在最后
在冰河技术知识星球, 《AI智能代码审查平台》、《AI全链路短剧生成平台》 已完结,同时,《企业级微服务开放平台》 项目热更中,还有其他二十几个项目,像实战Claude Code、AI知识库系统、智流助手平台、智能成语挑战赛项目、多轮AI智能对话系统、一站式AI智能平台、AI智能客服系统、AI智能问答系统、实战AI大模型、手写高性能敏组件、手写线程池、手写高性能SQL引擎、手写高性能Polaris网关、手写高性能熔断组件、手写通用指标上报组件、手写高性能数据库路由组件、手写分布式IM即时通讯系统、手写Seckill分布式秒杀系统、手写高性能RPC、实战高并发设计模式、简易商城系统等等。
这些项目的需求、方案、架构、落地等均来自互联网真实业务场景,让你真正学到互联网大厂的业务与技术落地方案,并将其有效转化为自己的知识储备。
值得一提的是:冰河自研的Polaris高性能网关比某些开源网关项目性能更高,目前正在热更AI一体化项目,也正在实现MCP,全程带你分析原理和手撸代码。
你还在等啥?不少小伙伴经过星球硬核技术和项目的历练,早已成功跳槽加薪,实现薪资翻倍,而你,还在原地踏步,抱怨大环境不好。抛弃焦虑和抱怨,我们一起塌下心来沉淀硬核技术和项目,让自己的薪资更上一层楼。
🚀PS:目前已开通最大优惠:长按或扫码加入星球立减30,注意:随着项目和专栏的更新,星球也即将涨价!!

目前,领券加入星球就可以跟冰河一起学习《实战Claude Code》、《多轮AI智能对话系统》、《一站式AI智能平台》、《AI智能客服系统》、《AI智能问答系统》、《实战AI大模型》、《手写高性能Redis组件》、《手写高性能脱敏组件》、《手写线程池》、《手写高性能SQL引擎》、《手写高性能Polaris网关》、《手写高性能RPC项目》、《分布式Seckill秒杀系统》、《分布式IM即时通讯系统》《手写高性能通用熔断组件项目》、《手写高性能通用监控指标上报组件》、《手写高性能数据库路由组件》、《手写简易商城脚手架项目》、《Spring6核心技术与源码解析》和《实战高并发设计模式》,从零开始介绍原理、设计架构、手撸代码。
花很少的钱就能学这么多硬核技术、中间件项目和大厂秒杀系统、分布式IM即时通讯系统,AI大模型项目,比其他培训机构不知便宜多少倍,硬核多少倍,如果是我,我会买他个十年!
加入要趁早,后续还会随着项目和加入的人数涨价,而且只会涨,不会降,先加入的小伙伴就是赚到。
另外,还有一个限时福利,邀请一个小伙伴加入,冰河就会给一笔 分享有奖 ,有些小伙伴都邀请了50+人,早就回本了!
其他方式加入星球
- 链接 :打开链接 http://m6z.cn/6aeFbs 加入星球。
- 回复 :在公众号 冰河技术 回复 星球 领取优惠券加入星球。
特别提醒: 苹果用户进圈或续费,请加微信 hacker_binghe 扫二维码,或者去公众号 冰河技术 回复 星球 扫二维码加入星球。
好了,今天就到这儿吧,我是冰河,我们下期见~~
