千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 嵌入式开发:如何定义理想的嵌入式CI/CD管道

嵌入式开发:如何定义理想的嵌入式CI/CD管道

来源:千锋教育
发布人:xqq
时间: 2023-12-10 06:49:11 1702162151

如今,现代嵌入式软件团队正在实施一个DevOps流程,该流程可以提高安全性、自动化软件开发生命周期、加强协作并提供持续改进。DevOps是加速软件交付的文化哲学、最佳实践和工具的结合。如果提到DevOps,很多嵌入式开发者马上会想到持续集成/持续部署(CI/CD)。在本帖中,我们将探讨如何定义理想的嵌入式CI/CD管道。

CI/CD管道由什么组成?

CI/CD管道是一系列必须成功完成才能交付新软件版本的步骤或作业。在某种程度上,嵌入式开发人员一直都有CI/CD管道,但这是一个手动且耗时的过程。CI/CD管道的现代概念是,它是自动化的,便于向客户交付快速的、微小的软件改进。

典型的CI/CD管道包含三个简单的活动:构建、测试和部署软件。从概念上讲,管道非常简单,但是细节经常让开发人员感到困惑。

仔细考虑每一个方面,确定你想要使用的实现,并对其进行配置并不容易。实现你自己的CI/CD解决方案需要深谋远虑和时间投入,但是该解决方案应该是什么样的呢?每个团队都有自己的需求,但是所有CI/CD管道都有一些标准特性。让我们看看几个领域,并为嵌入式开发人员定义一个通用的CI/CD管道。我们将保持它的简单,以便你将来可以在它的基础上进行构建。

定义理想的CI/CD渠道

一个理想CI/CD管道应该包含以下工作:

l构建–构建作业将获取你的固件并生成发布二进制文件。

l分析——分析构建工作将静态地分析你的代码。典型的分析将包括圈复杂度、编码度量和编码标准遵循,例如样式指南、MISRA和/或CERT。

l测试–测试工作将执行运输产品所需的所有测试。你可能包括单元、功能、集成、系统和性能测试。

l报告——报告作业将从以前的作业中收集结果,以提供关于构建成功、分析结果、测试覆盖率和结果等信息。

lmerge–当所有作业都成功时,合并作业会将新功能合并到部署分支中。这里经常有一个人的因素,但这也可以自动化。

l部署–当合并作业成功完成时,部署作业将运行并启动现场部署流程。部署通常与车队部署软件交互,该软件可以将固件推送到现场设备。

上面的理想管道是我认为嵌入式软件团队想要达到的最低目标。毫无疑问,可以添加额外的活动,例如硬件在环测试、模拟测试等等。然而,并不是所有的团队都能在这些活动中找到价值。仅仅是启动和运行这些活动就会让嵌入式团队忙碌一段时间。一旦你实现了你的理想愿景,你可以保持这个愿景,也可以扩展它,添加你认为对你和你的团队有价值的附加功能。

结论

DevOps很快找到了进入许多团队嵌入式开发过程的方法。CI/CD是DevOps采用的重要驱动因素,因为团队希望以更快的速度交付软件。CI/CD提供的自动化也是一个很好的工具,可以减轻手工工作,将开发人员解放出来,专注于更多的增值特性和产品创新。当你开始你的CI/CD之旅时,你可以利用这篇文章中讨论的基本的理想CI/CD管道。不要害怕将基线塑造成你自己理想的CI/CD。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT