企业级智能编码方案,完成工作更高效!完成在线部署并上传部署验证截图两个任务,可获得新年好运日历1个,每个工作日限量30个,数量有限,先到先得。(文末点击阅读原文参与活动)。
一、引言
本方案提出以通义灵码为核心的智能开发流程。通义灵码在代码生成、注释添加及单元测试方面实现快速生成,云效则作为代码管理和持续集成平台,最终将应用程序部署到函数计算 FC 平台。
适用客户:
需要提高代码编写效率并保持高质量输出的软件开发团队。
寻求通过智能化工具简化开发流程并加快产品迭代速度的技术团队。
本次活动旨在帮助用户通过实际操作,使用企业级智能编码方案,完成工作更高效,使通义灵码与云效协同提升效能,并有机会赢取丰厚奖品。
二、方案概览
本方案通过将通义灵码服务集成到本地IDE中,为开发者提供智能化的编码辅助功能,包括代码解释、自然语言生成代码、注释生成、单元测试生成等。结合云效进行代码版本管理、代码检测和单元测试,开发者不仅能够高效协作和交付项目,还可以通过云效将项目代码部署到函数计算 FC,提升开发效率,减少人为错误,加速项目交付,为开发者提供无缝的编码、管理和部署体验。
三、在线部署
如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。
1. 代码管理与自动检测
当前项目是一个提供算法题实现的在线网页,其中包括了两道具体的算法题目:“数组交集提取”以及“计算日期间隔”。“数组交集提取”代码已经完全实现,而“计算日期间隔”则仅仅完成了前端页面的设计,其后端处理逻辑还有待开发。
通过将代码导入云效平台,能够实现代码的集中管理和版本控制。结合云效的流水线功能,可以构建自动化的持续集成与持续交付(CI/CD)流程,代码检测作为流水线的一部分,能够快速识别代码中的潜在问题,提升代码质量。
1.1 代码导入云效
1. 登录云效控制台,根据页面指引完成企业的创建,并选择合适的角色。点击开始工作按钮,即可进入云效控制台界面。
2. 单击代码管理,进入代码库。
3. 单击导入代码库。
在导入代码库弹出框,选中URL导入,在源代码仓库地址填入
https://atomgit.com/aliyun_solution/lingma-demo.git,单击确定。
4. 点击右上角的克隆/下载,复制仓库地址,在本地使用git clone 命令克隆仓库。
【说明:首次克隆前请先配置 SSH 公钥,参见配置 SSH 密钥。】
5. 开通对象存储服务。打开OSS开通页面,按照界面指引完成开通操作。
1.2 代码检测云效
1. 点击当前代码仓库左侧导航栏中的流水线。
2. 进入流水线页面后,点击创建流水线。
【说明:从代码仓库进入创建流水线可以自动开启代码源触发。】
3. 在弹出面板中选择Java,顶部选择可视化编排,找到Java 测试、构建流水线模板,单击创建,进入流水线配置界面。
4. 进入流水线后,在左侧选择添加流水线源。
单击添加流水线源。
选择流水线源为代码源,选择Codeup。
代码仓库选择“lingma-demo”,默认分支选择“main”。
5. 单击流水线页面右上角保存并运行,在弹出的运行配置弹窗中单击运行。
6. 流水线运行结果如图所示,可以发现当前项目可以顺利完成构建,但是代码存在某些缺陷或漏洞,并且项目缺失单元测试用例。
7. 点击Java 代码扫描的扫描报告,点击弹窗右下角的继续打开,报告中可以看到当前代码存在的具体问题。
2.智能编码
为进一步提升开发效率和代码质量,可以利用通义灵码对现有代码进行深入解析,并在此基础上生成新的代码片段和注释。特别是针对“计算日期间隔”这一尚未完成的功能,通义灵码将帮助我们快速实现后端处理逻辑。此外,通义灵码还可以自动生成单元测试用例,确保代码的正确性和可靠性。
2.1 Visual Studio Code 中安装通义灵码
请按照以下步骤完成通义灵码的安装。
本安装步骤适用于 macOS、Windows 或 Linux 的 Visual Studio Code 中安装通义灵码。
准备工作:
操作系统:Windows 7 及以上、macOS、Linux; 下载并安装Visual Studio Code1.68.0 及以上版本。
方法 1:从插件市场安装
【说明单击立即安装,唤起 Visual Studio Code 插件市场直接安装,安装后请重启 IDE,即可开启智能编码之旅。】
打开 Visual Studio Code 扩展窗口,搜索 TONGYI Lingma,找到通义灵码后单击安装。 安装完成后,请重启 Visual Studio Code。
方法 2:下载安装包安装
2. 下载完安装包后,打开 Visual Studio Code 后,单击扩展,单击更多按钮,在下拉菜单中单击从 VSIX 安装,选择下载的 VSIX 文件后安装;
3. 安装完成后,请重启 Visual Studio Code。
登录并开启智能编码之旅:
1. 重启 Visual Studio Code 后,单击侧边导航的通义灵码,在通义灵码助手的窗口单击登录按钮。
Tips:如果安装后在侧边导航上找不到通义灵码入口,可鼠标聚焦在侧边导航后右键查看,勾选通义灵码后即可将插件入口配置在侧边导航上。
2. 单击登录后,将前往登录页面,完成登录后可进入 IDE 客户端开始使用。
2.2 解释代码
目录中找到实现最大公约数遍历算法的代码位于 IndexController.java 中的 common_elements 函数。当前的算法较为复杂,我们可以利用通义灵码来解释和帮助理解这一算法的实现过程。
2. 选中common_elements函数的代码,右击选择通义灵码 > 解释代码。
3. 可以看到在对话框中,通义灵码给出了详细的代码解释,并提供了控制流图。
2.3 生成代码注释
1. 在common_elements函数定义的开头,点击通义灵码的小图标。
2. 在下拉选项中选择生成注释,在对话框中会生成这个函数对应的注释。
3. 在对话框中点击复制按钮,复制注释后的代码,粘贴覆盖原代码
2.4 修复缺陷
1. 参考之前代码扫描报告中的问题,把问题复制到对话框中,并且选中存在问题的这部分代码,由通义灵码给出修复建议。
2. 复制修复后的代码覆盖原代码。
3. 参考上述步骤,逐一修复代码扫描中的问题
2.5 自然语言生成代码
1. 在src/main/resources/templates/date.html中,找到并复制“计算日期间隔”的题目描述。
2. 在 IndexController.java中,选中dateInterval函数,将题目描述拷贝到问答助手对话框,按回车键确认。
3. 将生成的代码复制到原文中,注意不要漏掉需要引入的依赖。
4. 保存修改后的IndexController.java文件。
2.6 生成单元测试
1. 在common_elements函数(图中函数名优化为findCommonElements)定义的开头,点击通义灵码的小图标。
2. 在下拉选项中选择单元测试,在对话框中会生成这个函数对应的单元测试。
目录中找到IndexControllerTest.java,将生成的单元测试代码拷贝到文件中。
4. 修改完毕后,保存IndexControllerTest文件,并在命令行中使用Git命令将代码提交到云效代码仓库。
git add .
git commit -m "通义灵码优化"
git push
3.编码验证
3.1 配置流水线测试代码,验证缺陷修复
1. 进入流水线Flow,可以发现当我们提交代码到仓库后,之前创建的流水线触发自动运行。
2. 点击流水线名称,进入详情页。
3. 流水线运行完毕后,可以看到当前的Java 代码扫描漏洞数量为0。
3.2 查看单元测试报告,验证生成的单元测试代码准确无误
1. 可以看到当前单元测试通过率为100%,所有的测试用例均成功执行。
2. 可以点击测试报告,进一步查看测试用例的具体执行情况。
4.部署应用
项目虽然完成了构建,但没有进行部署,我们可以配置以下的云资源并部署应用。
4.1 函数计算配置运行环境
1. 开通函数计算:根据页面提示单击领取试用套餐并开通,然后单击立即购买即可自动开通服务。
2. 点击模板链接,打开我们提供的函数计算应用模板,选择直接部署,其余配置项可以不做修改,点击创建并部署默认环境。
4.2 配置流水线部署应用
1. 进入流水线Flow,单击目标流水线,进入详情页。
2. 点击右上角编辑按钮。
3. 点击Java构建上传,在弹窗中找到构建物上传,修改打包路径为“.”。修改完毕后点右上角关闭编辑页面。
4. 流水线流程配置:
单击新的任务。
点击部署,选择部署到函数计算FC。
点击部署到函数计算FC。
在弹出的编辑页面找到任务步骤 ,点击执行命令。
点击环境变量的添加按钮 ,选择上游任务 制品/镜像 下载地址。
环境变量名称设置为code,将其值指定为上游构建阶段生成的产物,如制品名称.Artifacts_xxx。
配置阿里函数计算部署。
单击添加服务连接。在新建服务连接面板单击创建,完成RAM授权后,创建服务连接。
地域选择华东1(杭州),服务名选择“lingma-service”,函数名选择“lingma-demo”,源码类型选择本地代码,代码路径输入“.”。
5. 单击流水线页面右上角保存并运行,在弹出的运行配置弹窗中单击运行。
6. 如图所示,可以看到流水线已经运行成功,实现部署到函数计算FC。
4.3 访问测试域名
1. 打开函数计算应用列表,找到之前创建的应用,点击应用名称进入应用详情。
2. 在环境信息中找到访问域名,点击域名。
【说明:该域名是 CNCF SandBox 项目 Serverless Devs 社区所提供,仅供学习和测试使用,不可用于任何生产使用,域名会在30天后由社区回收。】
5.部署验证
验证通义灵码生成代码的有效性
1. 在浏览器中访问测试域名,看到如图所示的页面表示服务已经正常启动。
2. 在当前页面按照提示输入数字并提交后,查看结果,结合之前通义灵码提供的代码解释,可以更好地理解这道算法题的实现过程。
3. 点击导航栏中的“计算日期间隔”,在输入框中选择两个日期并点击提交。
4. 可以看到正确计算出了两个日期的间隔时间,说明使用通义灵码生成的代码正确有效。
6. 清理资源
1. 手动删除函数计算应用:登录函数计算控制台,在左侧导航栏,单击应用。找到目标应用,单击右侧操作列的删除应用。
2. 删除云效的流水线:进入云效流水线,点击流水线右侧->删除。
3. 删除代码仓库。
进入云效代码管理,点击目标代码仓库名称进入仓库详情页。
点击左下角的设置->基本设置-> 删除代码库。
四、AI编码,十倍提速,通义灵码引领研发新范式
想必你通过阅读,已经学会如何部署了。现在邀请你来到阿里云开发者社区参加“AI编码,十倍提速,通义灵码引领研发新范式”活动,跟随教程完成任务一和任务二即可领取新年好运日历,每个工作日限量30个,上午10点更新奖品,领完即止。完成任务后需点击“领取奖品”按钮,前往社区“积分商城”中的“活动礼品兑换专区”,使用账户中的1积分进行兑换,有效期为15天。
点击阅读原文,体验十倍提速的AI编码~