全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

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

发布时间:2023-12-10 18:29:12
发布人:xqq

如今,现代嵌入式软件团队正在实施一个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。

嵌入式开发

相关文章

嵌入式培训课程:探索技术的无限可能

嵌入式培训课程:探索技术的无限可能

2023-12-12
web前端培训:vue实现双向数据绑定原理

web前端培训:vue实现双向数据绑定原理

2023-12-12
嵌入式开发:Linux系统编程的探索与实践

嵌入式开发:Linux系统编程的探索与实践

2023-12-12
Web前端:探索Web前端开发技术的新领域

Web前端:探索Web前端开发技术的新领域

2023-12-12

最新文章

python培训学校靠谱吗?为什么一定要选择千锋教育

python培训学校靠谱吗?为什么一定要选择千锋教育

2023-12-13
培训学校学java靠谱吗?为什么一定要选择千锋教育

培训学校学java靠谱吗?为什么一定要选择千锋教育

2023-12-13
网络安全哪个培训机构靠谱

网络安全哪个培训机构靠谱

2023-12-13
python培训机构可靠吗?为什么一定要选择千锋教育

python培训机构可靠吗?为什么一定要选择千锋教育

2023-12-13
在线咨询 免费试学 教程领取