当下,众多嵌入式开发人员与团队正致力于如何有效管理其CI/CD流水线。持续集成对于确保嵌入式软件的建设、测试及验证极其关键,而持续部署则稍显复杂。然而,我们是否真的有必要让客户接收到源源不断的新软件更新?例如,对于汽车电子控制单元、医疗设备乃至微波炉等家庭电器而言,这样做的必要性何在?
持续部署在使用初期给人以良好印象,但这样频繁的软件升级是否真的满足了客户需求?对于这个疑问,有些人提出了一个值得深思的问题——嵌入式产品到底需不需要持续交付?
持续部署不仅仅是CI的扩展,而是一种让代码修改能自动构建、测试并部署至生产环境的软件开发策略。尽管CD为团队带来诸多优势,如加快产品上市速度、实现稳定可靠的部署、提高反馈周期效率等,但并非所有嵌入式产品都适合采用如此频繁的更新策略。
既然如此,嵌入式领域应如何实践持续交付呢?
持续交付的核心在于能够向顾客按需交付软件。但是,这不应局限于直接购买和使用产品的终端用户,还包括使用产品的内部员工、团队等群体。因此,理解持续交付的本质及其Pipline的设计对团队来说至关重要。例如,一个理想的持续交付Pipline或许可如下图所示:
在此Pipline中,我们设立了多个任务节点。若CI成功执行,便可生成完整的交付包裹,接着进行发布工作,最后再经过一轮生产开发流程,推动至内测平台。一旦认证通过,便可发放至生产环节。此外,我们还可以尝试分阶段发行,由质量保障团队逐一审查。最终,通过审批的各阶段成果可正式提交至市场。这种分阶段发布的模式,对于季节性或年度更新的大规模版本也是适应的。
总的来说,持续交付对于嵌入式开发者与团队的重要性不容忽视。虽然传统的现场升级方式可能并不适用,但将固件推送到生产环境却是非常有益的。产品开发、质量检查人员可以利用此环境在正式上线前充分检测产品性能,从而更好地满足客户需求。因此,我们必须认识到,持续交付在嵌入式产品领域确实具有实际价值,至于具体实施方式,将视期限和涉及对象而定。
全部0条评论
快来发表一下你的评论吧 !