云效+DeepSeek 打造高效代码评审的新途径

简介: 本文介绍如何在云效平台上利用DeepSeek等大模型实现AI智能代码评审。通过创建云效组织、获取API令牌、配置Flow自定义步骤、导入示例代码库及创建流水线,结合单元测试和代码扫描功能,实现自动化代码审查。此方案显著减少人工评审工作量,提升代码质量与开发效率,确保项目快速且安全地上线。

一、引言

在当今快速发展的软件开发领域,持续集成和持续交付(CI/CD)流程已经成为确保软件质量和加速产品上市时间的关键因素。随着人工智能(AI)技术的不断进步,其在DevOps实践中的应用也日益广泛,特别是在代码评审环节中,AI智能评审正逐渐成为提高开发效率和代码质量的新趋势。面对这一变革,如何有效地整合现有的工具链,并利用先进的AI模型来优化代码评审过程,成为了众多企业探索的方向。

在这样的背景下,云效平台作为阿里巴巴集团旗下的企业级研发管理平台,提供了一套全面的解决方案,帮助企业实现从代码提交到应用上线的自动化流程。其中,云效流水线Flow以其灵活的集成机制,为企业提供了定制化服务的可能性。而DeepSeek等大模型则代表了当前最先进的自然语言处理能力,它们不仅能够理解复杂的编程语言,还能通过深度学习算法对代码进行智能分析和评审。

本文旨在展示如何在云效环境中利用DeepSeek等大模型来实施AI智能评审。结合云效Codeup、流水线Flow以及DeepSeek模型,构建一个高效、自动化的代码评审系统。这个系统不仅能显著减少人工评审的工作量,还能提升代码的整体质量,降低潜在风险。

二、方案概述

云效流水线Flow提供了灵活的集成机制,企业可以在云效Flow内开发一个自定义步骤来调用DeepSeek等大模型,对云效Codeup提交的代码评审进行智能评审,并通过云效的API,将这些评审意见回写到合并请求中。

同时,结合云效流水线Flow的能力还可以对提交的代码进行单元测试、代码扫描等任务,并将这些结果一并展示回云效Codeup的提交历史中,反馈每个commit的代码质量状态。
image.png

三、实现步骤

1、创建云效组织并获取访问令牌

访问云效工作台,并创建您自己的组织。
image.png

为了能够让大模型调用云效API获取合并请求详情,并把Review的结果写到合并请求中,需要创建一个云效API的访问令牌。
点击右上角的头像-个人设置-新建令牌。
image.png
设置令牌的权限:代码比较设置为只读,合并请求设置为读写。
image.png

创建好之后,将令牌保存下来。
image.png

2、创建百炼APIKey

访问阿里云大模型服务平台百炼,创建APIKey。
image.png
image.png

百炼为新用户提供了百万免费的tokens。
image.png
image.png

3、创建Flow自定义步骤调用大模型能力

安装Node.js,若已经安装可以忽略。
image.png

image.png

image.png

在Node.js 在命令提示符中输入以下命令进行Flow-CLI的安装。

npm install -g @flow-step/flow-cli --registry=https://registry.npmmirror.com
AI 代码解读

image.png

运行flow-cli login 的登录命令,选择刚才创建的云效组织。
image.png

https://atomgit.com/flow-example/yunxiao-mr-review-step 克隆代码到本地,修改其中的step.yaml文件,修改第4~5行,为步骤id和name添加后缀。

image.png
image.png

ID的查看路径

image.png

命令行切换到刚才克隆代码的代码库的根目录,执行下面的命令以发布步骤。

flow-cli step publish --auto-version
AI 代码解读

image.png

步骤发布后,访问https://flow.aliyun.com/,在步骤管理-组织步骤中可以看到MergeRequestLLMReviewer 步骤,即表示步骤发布成功。如果你看不到步骤管理菜单项,是因为你当前账号没有步骤管理的权限,可以切换为管理员账号或者让管理员赋予你步骤管理的权限。
image.png

4、创建进行代码Review的示例代码库

访问codeup.aliyun.com,导入代码库https://atomgit.com/flow-example/CodeReviewSampleCode.git到云效Codeup中。
image.png

image.png

5、创建流水线

在flow.aliyun.com中创建流水线,模板选择【Nodejs 测试、构建】模版

image.png
代码源选择刚才导入的示例代码库,并开启代码源触发,设置触发条件为 【合并请求 新建/更新】。
image.png

这里我们只做CodeReview,无需构建,所以我们删除掉模板中的Nodejs构建任务。我们添加一个空任务,并在空任务中添加刚才我们创建的自定义步骤,以便调用大模型能力做CodeReview。
image.png

image.png

可以按需选择模型,支持 deepseek-r1、deepseek-v3、qwen-max,并填入云效token(前面创建的个人访问令牌)和百炼APIkey。不过为了安全起见,不建议您直接填入这些信息,最好的方式是创建2个私密环境变量: YUNXIAOTOKEN{BAILIAN_APIKEY},在环境变量中中配置刚才的私密信息。
image.png

image.png

6、创建合并请求

在前面导入的CodeReview示例代码库中,创建合并请求,从dev1分支合并到main分支。
image.png

当合并请求被创建之后,进入云效Flow,可以看到流水线被触发,该流水线会运行代码检查和单元测试,并且调用大模型进行智能评审。
image.png

查看自定义步骤的日志输出,可以看到大模型对代码评审的进行处理,并最终将结果回写到Codeup端。
image.png

在Codeup的代码评审侧可以看到回写的评审意见。
image.png
点击自动化检查标签可以看到流水线的代码扫描和单元测试结果。
image.png

四、总结

在云效平台上利用DeepSeek等大模型实现AI智能评审的过程。通过自定义Flow步骤来集成DeepSeek模型,并将其应用于代码评审过程中。这一过程不仅实现了对提交代码的自动化审查,还结合了单元测试、代码扫描等功能,全面提升了代码质量。

通过将AI技术融入日常的代码评审工作中,企业不仅能加速开发周期,还能保证代码的一致性和安全性。随着技术的发展,我们可以期待AI智能评审将在未来的软件开发中扮演更加重要的角色,助力每一个项目成功上线。

相关实践学习
2分钟自动化部署2048小游戏到ECS
在短短2分钟内,即可实现2048小游戏的ECS自动化部署
SVN版本控制系统
SVN是现在软件开发之中的主流软件版本控制工具,在工作之中利用SVN可以有效的解决多人开发的代码管理问题,本课程将为读者讲解SVN服务器的配置以及基于MyEclipse的SVN客户端插件的配置与使用,并且在讲解之中着重讲解了冲突的产生于解决。
目录
打赏
0
6
7
1
447
分享
相关文章
如何在云效中使用DeepSeek等大模型实现AI智能评审
本文介绍了一种基于云效平台和DeepSeek的AI智能代码评审解决方案。通过云效代码管理Codeup、流水线Flow和DeepSeek大模型,企业可快速实现自动化代码评审。具体步骤包括:创建云效组织并获取API令牌、配置百炼APIKey、开发自定义Flow步骤调用大模型、创建示例代码库和流水线,并通过合并请求触发智能评审。最终,评审结果将自动回写到Codeup中,帮助开发者提升代码质量。
792 3
如何在云效中使用DeepSeek等大模型实现AI智能评审
如何在云效中使用 DeepSeek 等大模型实现 AI 智能评审
除了代码智能补全外,AI 代码智能评审是 DevOps 领域受开发者广泛关注的另一场景了。本文,我们将结合云效代码管理 Codeup、流水线 Flow 和 DeepSeek,分享一种企业可快速自主接入,即可实现的 AI 智能评审解决方案,希望给大家一些启发。
云效Codeup代码评审中的代码协同
云效 Codeup 汇集了阿里巴巴最新的代码托管、代码协同技术,希望能够造福更多中国和世界的开发者。
1414 0
云效Codeup代码评审中的代码协同
云效DevOps实践-代码评审
在行业激烈竞争业务快速运转的今天,如何在实现快速交付的同时保证代码质量一直以来都是技术团队反复探讨的话题之一。代码评审是结对编程相互切磋相互学习的方式,是敏捷开发模式中的一个重要环节,是保障代码质量的重要手段。有效的代码评审可降低故障率,本篇我们重点介绍团队如何在云效上做好代码评审。‍
3879 0
云效DevOps实践-代码评审
阿里云云效产品使用合集之前端打包时npm安装卡住一般是什么导致的
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
阿里云云效产品使用合集之同一个主机部署是否支持下载多个制品
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
阿里云云效产品使用合集之Codeup WebIDE环境下,如何使用通义灵码
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
阿里云云效产品使用合集之如何进行大文件的迁移
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
阿里云云效产品使用合集之如何在甘特图视图中看到负责人信息
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。

热门文章

最新文章